基于硬件的代码转换解决方案综述:测试性能
网络上的实时转码已经迅速发展成为流媒体直播事件的最佳工作流程. 在这个模式中, 你将一个高效的数据流发送到云端, 转码流以产生完整的编码阶梯, 必要时打包, 并将流发送到源服务器或CDN.
本文分析了几种基于硬件的转码解决方案. 对H.264,我们比较了NVIDIA H.264和英特尔快速同步编解码器, 分析实时转码应用程序的性能和输出质量. 为视角, 我们还包括使用介质(默认)和非常快的设置的FFmpeg的x264编解码器. 对于HEVC, 我们评估了英特尔的SVT(可扩展视频技术)-HEVC, a software-based codec that purports to deliver hardware-like performance; NGCodec’s FPGA-based HEVC encoder; and x265 using the medium and veryfast presets.
在这两种情况下,我们都使用编码阶梯来衡量性能 表1 使用1080p 60 FPS源剪辑. 这是, 在每台被测试的计算机上, 我们测试了编解码器是否可以生成整个阶梯, 如果是这样的话, 它能同时产生多少个梯子. 软件编码器, 我们允许帧率降至55 FPS, 而对于基于硬件的编码器, 我们不允许掉帧.
![](http://dzceab466r34n.cloudfront.net/Images/ArticleImages/InlineImages/125259-Stream variability of the HardwareBasedEncodingTab1-ORG.jpg)
表1. 标准编码阶梯
在一个完美的世界, 我们可以在一台计算机上测试所有的编解码器,以得出统一的每流小时成本. 然而, 用于硬件辅助编码的平台对于纯软件编码几乎总是次优的, 使这些努力受挫. 除了, 您将根据机器类型获得不同的比较性能度量, 为基于软件和三硬件的编解码器找到最佳配置很容易成为另一篇文章的主题. 长话短说, 我们包括所有测试编码的定价信息, 但是您可能需要做更多的工作来为您的产品转码确定最经济有效的实例类型.
在评估绩效之后, 我们通过BD-Rate分析的标准率失真曲线来测量质量. 我们还使用web服务subjectitify测量了每个类别中产生的3Mbps流的主观质量.us. 用于每组测试的编码参数如下所示.
我们测量了客观指标-视频多方法评估融合(VMAF)和峰值信噪比(PSNR) -与 四个2分钟的测试片段. 其中包括Netflix的Meridian和Harmonic的橄榄球测试片段, 加上GTAV测试片段(1分钟片段的两倍)和来自Xiph的2分钟Netflix剪辑汇编.包括DinnerScene,叙述者,SquareAndTimeLapse和BarScene.
NGCodec建议在第一轮编码和客观测试完成后再进行主观测试. 通常,您会使用相同的剪辑进行客观和主观测试. 然而,Subjectify.我们建议测试片段不超过20秒, 对于这些测试, 我们截取了每个片段的前20秒并进行了测试.
H.264
多个NVIDIA gpu 包含一个或多个基于硬件的编码器或解码器, 哪一个是与CUDA核心分开的, 释放图形引擎和CPU用于其他任务. 我们测试了NVIDIA H.264编码器使用G3.由Softvelum的工程师为我们设置的4 ×大型AWS工作站, 谁有丰富的经验,基于nvidia的转码,以支持视频生产者使用其灵活的流媒体云转码. AWS G3实例包括在硬件编码期间使用的NVIDIA Tesla M60 gpu. 与所有AWS实例一样, 根据承诺级别的不同,价格差别很大, Linux的现货价格是1美元.测试时每小时14个.
我从一份名为, 使用FFmpeg与NVIDIA GPU硬件加速 (需要会员资格),最终使用以下脚本:
Ffmpeg -y -vsync 0 -hwaccel cuvid -c:v h264 _ cuvid -i input.Mp4 -c:v h264_nvenc -presetmedium v - b: 5米 -bufsize 5米 -maxrate 5M -qmin 0 -g 120 -bf 2 -暂态aq 1 -rc-前瞻20 -i _ qfactor 0.75 - bq1.1输出.mp4
这与NVIDIA的建议有两个有意义的不同. 第一个, 将介质预设替换为推荐的慢速以提高性能, 和第二, 将缓冲区限制为数据速率的1倍,以最小化比特率可变性. 我们还将关键帧间隔从250帧更改为120帧. 我们使用原始脚本和最终脚本运行测试编码, 而由最终剧本制作的视频的VMAF评级实际上要高一点, 82.19 to 81.82.
使用最后的脚本,我们能够在G3上生成两个同时的编码阶梯.4个大型实例,每个梯子的成本约为每小时57美分. 在与NVIDIA讨论我们的发现时, 我们了解到,该公司提供了更强大的硬件,提供了更大的编码密度, 这显然会影响每个天梯的成本.
对于中等和非常快的x264编码,我们使用了以下命令脚本, 显然会根据需要改变预设:
输入.mp4 -c:v libx264 -preset medium v - b: 5米 -bufsize 5米 -maxrate 5M -g 120输出.mp4
nvidia优化的G3.使用x264编解码器的4 ×大型计算机无法生成单个编码阶梯, 即使使用非常快的预设. 所以,我们改用计算密集型的C5.18xlarge实例,花费$.9438 /小时(现货定价),并使用非常快的预设产生四个55 FPS或更高的同时编码, 或者每架梯子的成本是每小时24美分. 使用介质预设, 该系统以每架梯子每小时约47美分的成本同时提供两个编码.
我们用英特尔快速同步软件进行了两组独立的测试, 两次都使用英特尔推荐的脚本. 第一组, 我们在流媒体东部上展示了结果, 显示了足球剪辑中明显的短暂质量下降. 英特尔为第二组测试添加了下面脚本中高亮显示的预检开关, 这就消除了这个问题:
Ffmpeg -re -hwaccel QSV -c:v h264 _ QSV -y -i输入.Mp4 -filter _ scale _ threads 4 -c:v h264 _ QSV -vf hwuload =extra _ hw _ frames=64,format=qsv -preset 4 v - b: 5米 -maxrate 5M -bufsize 5米 -g 120 -idr _ interval 2 -async _ depth 5 -展望未来1 .展望未来深度 output.mp4
你可以看到区别在 图1, 其中显示了在莫斯科国立大学视频质量测量工具中显示的带有前视(红色)和没有前视(绿色)的英特尔快速同步剪辑的VMAF分数. 绿色向下的尖峰每个代表非常明显的瞬态质量下降,更新的编码参数与前瞻性明显消除.
![](http://dzceab466r34n.cloudfront.net/Images/ArticleImages/InlineImages/125250-Stream variability of the HardwareBasedEncodingFig1-ORG.jpg)
图1. VMAF分数的英特尔快速同步剪辑(红色)和没有(绿色)的前瞻性参数
我们使用预设4用英特尔快速同步编码. 选择这个, 我们通过将我们的测试套件(Football)中最具挑战性的剪辑编码为1080p,以3Mbps的速度来测量每个预设的编码速度和VMAF质量, 生成的数据显示在 图2. 如你所见, 预设3和4在速度和质量之间表现出良好的平衡, 尽管制作人试图维持最后一点编码速度,但预设6可以在质量下降最少的情况下提供大约9%的性能提升.
![](http://dzceab466r34n.cloudfront.net/Images/ArticleImages/InlineImages/125251-Stream variability of the HardwareBasedEncodingFig2-ORG.jpg)
图2. 选择英特尔快速同步的预设
英特尔在一个由phoenixNAP托管的云系统上创建了测试站,该云系统由运行速度为3的单插槽Intel至强CPU E3-1585L v5驱动.00 GHz, 4核和集成的英特尔虹膜Pro图形,包括英特尔快速同步编码和解码. phoenixNAP不按小时出租, 但这台机器的成本是每月250美元, 包括15TB的出口数据传输. 最好的情况, 如果你在一个月的30天里全天候运行这个系统, 这相当于每小时35美分.
有趣的是, 没有forward参数, 测试系统可以同时维持两个编码阶梯,每个阶梯的成本约为0美元.175 /小时. 使用命令字符串中的向前看参数, 该系统只能以每小时35美分的价格维持一个编码阶梯的全帧速率. 我知道比较月度定价和现货定价是不公平的,但这就是我的数据.
评估产出
大容量发布者关心输出流的多个方面, 包括质量和数据速率可变性. 正如我们从我们的 2019 NAB Show专访Twitch的Yueshi Shen, 当你推送成千上万的流时, 即使是数据速率的微小变化也会导致传输问题. 图3 显示了来自Hybrik Cloud平台的媒体分析器功能的足球片段的四个3Mbps流的数据速率图. 你可以看到,来自英特尔和NVIDIA的前两个流显示的变化比两个x264流要小得多,而且也更接近目标数据速率.
![](http://dzceab466r34n.cloudfront.net/Images/ArticleImages/InlineImages/125252-Stream variability of the HardwareBasedEncodingFig3-ORG.jpg)
图3. 数据速率变化的H.264年流
表2 显示了关于所有技术产生的3Mbps足球流的各种数据点. 他们证明了硬件编解码器更精确,变化更少, 与英特尔快速同步具有较低的标准偏差和较低的最大数据速率比NVIDIA略有优势. 如果数据速率可变性是实时事件的问题, 您应该强烈考虑使用硬件编解码器.
![](http://dzceab466r34n.cloudfront.net/Images/ArticleImages/InlineImages/125260-Stream variability of the HardwareBasedEncodingTab2-ORG.jpg)
表2. H.264 -编码流
图4 四种测量技术的整体VMAF率失真曲线是什么, 显示英伟达略微领先于英特尔快速同步和x264介质, x264的速度非常快. 个别测试片段之间存在一些差异, 与英特尔快速同步产生最高质量的GTAV和子午线剪辑和NVIDIA大大领先于英特尔快速同步在足球剪辑.
![](http://dzceab466r34n.cloudfront.net/Images/ArticleImages/InlineImages/125253-Stream variability of the HardwareBasedEncodingFig4-ORG.jpg)
图4. 四个H264编解码器的VMAF率失真曲线
相关文章
旨在降低开销,提高性能,减少开源编解码器的功率
2022年9月9日
以下是评估云转码解决方案时需要关注的四个区别因素
Aug 25 2020
流媒体学习中心负责人1月时讨论了为什么基于拍摄的编码对一些组织和应用程序有意义,这是他在2019年流媒体东部的演讲片段.
8月12日2019
流媒体的1月时和NGCodec的Oliver Gunasekara讨论了NGCodec的实时HEVC 4k60编码器, 以及为什么公司对H.264.
4月22日2019
体育直播和对专业品质IP视频的坚持,有助于巩固HEVC作为标准的地位.
2018年12月11日
开放媒体联盟致力于AV1编解码器, 现场可编程门阵列提供了加速编码的灵活性和能力
2月23日
提及的公司及供应商