0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Ampere Altra 处理器对最为主流的编码标准H.264进行评测

安晟培半导体 来源:安晟培半导体 作者:安晟培半导体 2022-07-29 10:29 次阅读

在线视频市场持续快速增长,越来越多的人观看流媒体在线内容,实时视频的使用量正在飙升,为了能减少存储空间和提升网络带宽的利用率,视频编码压缩技术已经普遍被行业采用。

如今的客户在视频流方面要求 360° 的用户体验,除了友好的界面、简单的内容搜索方式,更重要的是接收低延迟无缓冲视频。为了满足如此高的流媒体标准,无论是个人内容提供商、初创企业和行业领先者,都开始意识到高弹性、可扩展的云平台在高质量流媒体服务中不可替代的作用。借助云服务器,内容服务商可以在公有云中按需定制容量和算力,更轻松地应对突发的流量高峰和更灵活的控制成本。所以测试云服务器的编码能力有着确切的现实意义。

视频编码压缩技术有多个标准,根据 Bitmovin 视频开发者调查报告,自 2017 年以来, AVC/H.264 一直为主要的视频编解码标准,使用 H.264 受访者始终保持在 90% 以上,在 2021 年略有下降至 83%。2020 年,42% 的受访者正在使用 HEVC,另有 47% 的受访者表示他们计划在 2021 年使用。实际在 2021 年,HEVC 的采用率增长到 49%,尽管与 2020 年的采访数据有些差距,但增幅明显。

7f682b74-0e5d-11ed-ba43-dac502259ad0.png

由此, 本文将基于腾讯云 SR1 云服务器(基于 Ampere Altra 处理器)对最为主流的编码标准 H.264 进行评测。

Ampere Altra 处理器是为云原生应用构建的完整片上系统 (SOC) 解决方案。其创新架构提供可预测的高性能、高能效和线性扩展,在多租户环境中具有最大一致频率和单线程内核。我们将与传统架构的腾讯云 S6 云服务器进行性能对比,结合成本因素,最终得出性价比的差异。

云实例配置

本次测试中,SR1 和 S6 云实例配置如下:

7f7a1794-0e5d-11ed-ba43-dac502259ad0.png

H.264 的评测方法

我们将使用实现 H.264/MPEG-4 AVC 标准的开源库 libx264 和 ffmpeg 来运行视频编码,测试基准借鉴了 vbench,vbench 是一种针对在云上进行视频转码的 benchmark, 也是视频即服务(Video as a Service)工作负载的测试基准。

访问 vbench:

http://arcade.cs.columbia.edu/vbench/

vbench 提供的 15 个输入视频是从 Youtube 里经过 K-means 算法筛选,代表了不同分辨率、码率和熵特征的具有代表性的视频源。

7f8a616c-0e5d-11ed-ba43-dac502259ad0.png

vbench 定义了 5 种不同的场景:Upload, Live, VOD, Popular, Platform。每个场景对视频的码率和质量都有不同的要求,所以会采用不同的编码参数。该评测中采用 Upload 场景,Upload 场景要求转码速度的同时不降低视频质量以便后续的进一步处理,所以采用 Single Pass 并设置 Constant Rate Factor (CRF)=18 来保证编码的视频质量。

为了最大化 ffmpeg 吞吐量,我们运行多个 ffmpeg 进程,数量等于云服务器的可用 vCPU 数量,同时使用 GNU parallel 来并行化所有的 ffmpeg 进程。为了减少磁盘 IO 带来的影响,ffmpeg 二进制文件以及所有输入和输出文件都存储在 tmpfs 上。最终以完成 15 个视频编码所需要的时间作为性能评价指标。

基本测试命令如下:

parallel -j${JOBS} =/opt/cloud/ffmpeg/bin/ffmpeg -threads ${THREADS} -y -i {} -c:v libx264 -preset medium -crf 18 {。}.out.mkv &/dev/null ::: input/*.mkv

H.264 的评测结果

我们分别在 SR1.2XLARGE32 和 S6.2XLARGE32 实例上运行测试 30 次,然后对这 30 次的编码时间进行分析,以下表格是对平均时间、最大时间和最小时间的统计。

SR1.2xlarge32S6.2xlarge32

Average Time (s)58.3565.14

Max Time (s)58.5965.35

Min Time (s)58.2165.06

可以看到,SR1 和 S6 每次任务完成的时间都很稳定,完成 15 个视频编码所需要的平均时间,SR1 比 S6 节省了 10%,如果再考虑到价格因素,意味着每条视频的编码成本 SR1 将比 S6 节省约 32%。

7fa8e01a-0e5d-11ed-ba43-dac502259ad0.png

性能的扩展性

SR1 的 CPU 处理器 Ampere Altra 采用的是单核单线程的设计,与 x86 相比一个显著的差异是在云实例中每个核都是物理核,而不是超线程下的一个线程。所以,SR1 每个核的计算资源如 L1 和 L2 缓存都是独享的。当多核运行时,核间没有资源争夺,具有很强的抗干扰性。为验证该特性,我们采用另外一种方法,逐次增加核数,以获取不同核数下的 fps 数据。总 fps 随核数的关系如图所示。

7fbc4f88-0e5d-11ed-ba43-dac502259ad0.png

首先同样核数下,Ampere Altra 的实例的 fps 性能要高于 x86 的实例,而且明显地以线性增长。而对于 x86 的 s6 实例,可以看到单数核时和相邻偶数核时的性能增长非常小,也就是对于 SR1 实例的用户,购买的每个核都是物理核,也得到性能的回报;而 x86 架构的实例,用户购买的核数有一半是逻辑核,而这些逻辑核对整体性能的提升非常有限;

理论上,基于物理核 CPU 的实例可以售卖单数 vCPU 的产品,而对于基于 x86 超线程的云实例,售卖的产品配置就只能是偶数核。这或许也是目前云产品都是偶数配置的原因之一。

总结

我们分别在基于 Ampere Altra CPU 的实例 SR1 和基于 x86 CPU的 S6 实例上进行了 h.264 编码的测试。无论是单纯的性能,还是综合性价比,SR1 实例都优于 S6,可以为用户节省 30% 以上的成本。

同时,通过本次测试,我们也验证了单线程物理核设计相对传统超线程模式设计的独特优势,即性能随着核数的增加可线性扩展。

附录

该评测中使用的 x264, x265 和 ffmpeg 的版本以及编译方法如下。

软件编译

x264git clone https://code.videolan.org/vi

deola

n/x264.git

cd x264

。/configure --disable-opencl --enable-pic --enable-shared --prefix=/opt/cloud/ffmpeg

make -j `nproc`

sudo make install-lib-shared

ffmpegexport PKG_CONFIG_

PATH=$PKG_CONFIG_

PATH:/opt/cloud/ffmpeg/

lib/pkgc

onfig

git clone https://git.ffmpeg.org/ffm

peg.git

cd ffmpeg

。/configure --enable-gpl --enable-libx264 --disable-stripping --prefix=/opt/cloud/ffmpeg

make -j `nproc`

sudo make install

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18253

    浏览量

    222079
  • 存储
    +关注

    关注

    12

    文章

    3854

    浏览量

    84651
  • 服务器
    +关注

    关注

    12

    文章

    8106

    浏览量

    82485
  • 视频编码
    +关注

    关注

    2

    文章

    111

    浏览量

    20832

原文标题:安博士讲堂 | 腾讯 Arm 云实例评测系列 - 视频云编码

文章出处:【微信号:AmpereComputing,微信公众号:安晟培半导体】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    H.264标准详细介绍

    ,密切关注H.264的发展,制定我国的信源编码标准的工作正在加紧进行。  H264标准使运动图像
    发表于 06-04 14:29

    新一代视频编码标准H.264在高速DSP平台上的实现与优化

    编解码效果。关键词:H.264;NVDK;数字信号处理器(DSP)中图分类号:TN919.81文献标识码:BAbstract: The feature of new generation video
    发表于 06-25 10:35

    最新视频编码标准H.264及其核心技术

    最新视频编码标准H.264及其核心技术H.264是ITU-T和ISO联合研究制定的编码效率高、网络适应性强的最新数字视频
    发表于 06-25 11:42

    SUNNISKY ENC264HD H.264视音频高清压缩编码器

    SUNNISKY ENC264HD是一款实用的、且符合H.264标准的ASI-TS IP实时视频/音频的高清HD压缩编码或转码设备,其功能是将一路模拟视音频(或Y/PB/PR)输入的信
    发表于 03-06 19:27

    基于Blackfin533的H.264编码

    模块的独立性,又要考虑模块的完整性。笔者的H.264的模块关系图如图3所示。视频输入模块负责图像序列的读取,从PPI口进入的图像首先保存到外部存储,再进行编码。读入的图像经帧间模式选
    发表于 07-13 17:12

    8168进行h.264视频编码

    需要用dm8168对采集的视频进h.264编码。 请问ezsdk里面有没有相关例程? 目前找到了videnc_copy文件夹,里面的videnc_copy.c没找到入口函数。是需要自己写程序调用里面的函数吗? 请问大神该怎么用?
    发表于 06-21 18:20

    H.264编码如何在嵌入式设备中实现

    比特率应用时, 建议不分块或者分成较大的块,以保证良好的率失真性能, 但运算复杂性和存储需求都极高。 视频编码标准H.264代表着继MPEG1/2和MPEG4后的第三代视频
    发表于 08-06 06:37

    怎么设计基于DSP的H.264编码器电路?

    H.264标准的编解码运算速度要求。因此,在稳定的媒体处理器平台上实现H.264标准有着较好的工程意义和应用前景。
    发表于 09-04 06:19

    H.265与H.264对比分析

    Video Codec,高级视频编码),是一种视频压缩标准,同时也是一种被广泛使用的高精度视频的录制、压缩和发布格式。H.264因其是蓝光光盘的一种编解码标准而著名,所有蓝光播放
    发表于 12-11 15:45

    H.264视频编码传输的QoS特性是什么

    本文针对最新推出的视频编解码标准H.264的抗误码性能进行了分析,可以看到H.264/AVC标准除了拥有高效
    发表于 06-07 06:46

    基于ADSP-BF533处理器H.264解码器

    摘要:H.264标准拥有比其他视频编码标准更好的压缩性能,但计算复杂度高,限制了H.264标准
    发表于 02-28 00:20 31次下载

    基于H.264的立体视频编码方法

    H.264是一种高效的视频编码压缩标准,它集中了以往标准的优点。基于H.264的高效编码压缩技术
    发表于 06-10 16:34 43次下载
    基于<b class='flag-5'>H.264</b>的立体视频<b class='flag-5'>编码</b>方法

    H.264编码和H.265编码的区别

    目前很多摄像机采用了H.265的编码标准H.264编码的摄像机逐渐减少,为什么H.265会流行?H.264和H.265有何不同?
    的头像 发表于 03-14 15:53 2.8w次阅读

    Ampere Altra处理器实现Arm架构运行虚拟机

     近日,微软推出了基于 Ampere Altra 云原生处理器的 Azure 虚拟机(VM)。
    的头像 发表于 04-10 10:16 3031次阅读

    H.264编码原理

    H.264,同时也是 MPEG-4第十部分,是由 ITU-T 视频编码专家组(VCEG)和 ISO/IEC 动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team
    发表于 08-31 15:39 2次下载