视频编码器是各类视频服务的核心,其在一定程度上决定了视频编码的效率,以及观众的整体视频体验质量。本文将帮助你学习如何从多个方面进行对比、分析并选择出最合适的VOD编码器。

文 / Jan Ozer

译 / John

审校 / 蒋默邱泽

原文

https://www.streamingmedia.com/Articles/Editorial/Featured-Articles/Buyers-Guide-to-On-Prem-Encoding-2019-132021.aspx

Streaming Media/Beamr的一篇题为“洞悉触手可及的HEVC:应用、影响与工作流程”的文章中写道:有61%的受访者仍基于本地编码处理;而基于私有云计算进行编码客户比例仅为21%。尽管其中一些受访者是采用本地+云端并行的编码方式,但将编码迁移到云端显然是大势所趋。我们希望为这些准备通过云计算方式从事编码活动的开发者撰写以下指南。

尽管有数十篇白皮书与文章详述了云计算是如何削减编码成本并改善开发者的编码工作流程,但大多数开发者依旧选择他们信赖的编码方式与工具。需要提醒您的是,接下来的内容主要基于VOD编码器而非实时编码器撰写,我们希望此文章可以涉及所有相关类别的编码工具;除此之外,本指南中的产品列表旨在提供示例而非展示细节;最后Beamr的调查还明确了任何本地编码指南的开始阶段,因为FFmpeg部署在36%的生产工作流程中。所以让我们从FFmpeg开始,逐步延伸至更复杂的编码工具。

FFmpeg

FFmpeg是免费的开源命令行编码器/解码器,可用于Windows、Linux和Mac,当然也可为其他操作系统编译。FFmpeg是许多编码产品和服务的引擎,也是Netflix和YouTube等公司的编码方案。FFmpeg最初于2000年12月发售,最新版本为4.1,其最明显的新特性是增加了对AOM 开放媒体联盟 AV1编码的支持。FFmpeg包括高质量的纯软件编解码器如x264和x265,以及英特尔(QSV)和NVIDIA(NVENC)编解码器,可在多平台支持硬件加速编码。

除了编码之外,FFmpeg还擅长广泛的有用辅助功能,包括不经编码与注入文本即可拆分与连接文件等。虽然FFmpeg不能直接为DASH的HLS或MPD文件生成变体播放列表,但我们也可将其他开源工具(如Bento4)添加到简单的工作流程中,并生成包括DRM和字幕的HLS和/或DASH输出。实际上,本期教程中的一部分内容详细介绍了如何使用Bash脚本设置监视文件夹,该脚本使用FFmpeg和Bento4将放入文件夹的文件编码并打包,生成HLS和DASH的多比特率梯形图。

虽然使用FFmpeg进行命令行处理相对简单,但可用性主要因其大多数程序需要通过GUI实现而大打折扣。此外,向FFmpeg添加类似工作流的功能也需要高质量的编程,门槛较高。如果您正在寻找一种易于插入具有预编码和后编码质量控制工作流程的编码器,那么FFmpeg显然不是最佳选项。

Adobe Media Encoder(AME)

Adobe Media Encoder(AME)是大多数Premiere Pro和After Effects制作流程的最后一步。在大多数情况下,AME作为多轨夹层媒体文件的创建者,便于文件上传至其他网站进行传输与编码;AME同样适用于Final Cut Pro中的编码器,也可能是Avid Media Composer。AME还包括许多用于相机和设备的预设,但它不能为基于HLS或DASH的分发生成封装以用于输出。

一些不太常用的实践与案例可以体现出Premiere Pro和AME的不足:第一个涉及将包含屏幕录制或PowerPoint等计算机图像内容的视频,编码为夹层文件以便于上传至生产编码器,在此应用场景下,理想的编码方式应当是CRF,因为CRF可调整码率恒定保持画面质量。而AME不支持CRF编码,这就需要开发者推测应当将码率维持在哪一范围内或以非常高的码率编码并延长上传时间,才能维持画面质量符合需求。以演示文稿内容为例,CRF编码可将夹层文件大小(上载时间)减少大约80%,而AME生成的夹层媒体文件与使用免费CRF编码器生成的文件之间没有明显视觉差异,这种基于FFmpeg的编码器我们将其称为HandBrake。

第二个则是处理使用iPhone拍摄的视频时Premiere Pro会明显力不从心。因为这些视频是以可变帧速率进行编码;当本地文件被导入Premiere Pro时,这些iPhone视频会在播放后的一分钟内出现同步失败的现象,解决此问题的方案是HandBrake。当然,这些都不应对AME的批评,AME可以良好的状态应对99.9%的编码任务。我们希望通过上述案例与大家分享一些其他的处理特殊因场景更加出色的编码工具,HandBrake(我将其称为FFmpeg Front Ends)便是其中之一。

FFmpeg 前端工具

go2sm.com/ffmpeggui上有一个为FFmpeg提供GUI的程序列表,我即将把XMedia Recode(go2sm.com/xmedia)等程序添加至其中。不幸的是,除了HandBrake之外,大多数程序自2015年以来都没有更新过,这也使得这些程序难以被用于现在的复杂任务。我的办公室中的绝大多数电脑系统都安装了HandBrake,足以体现其实用性。

尽管如此,我所研究的项目依然有许多等待着被商用。多年前我听说FFmpeg前端可以提供一系列功能,但我从未实际下载并尝试过它们。这些程序的潜在好处是可以让开发者以非常便宜的价格体验许多新功能,如果只是为了单纯启动并使用FFmpeg进行编程那么远不用大费周章;但如果您正在寻找一种可体验诸多新特性的便捷方式,请不要错过接下来我所介绍的内容。

商用编码容器

最后一类包括商用编码器和封装器。多轨视音频文件输入封装器,随后封装器输出封装好并准备分发的HLS / DASH文件。虽然不同类别文件之间存在大量重叠,但封装器与商用编码器主要有以下三种类型:

  • 传统的本地编码器,可在传统平台上部署。这些产品仅作为纯软件或硬件/软件组合对外出售,主要部署在单个Windows或Linux工作站上。此类别中的公司和产品包括Ateme(Titan File)、AWS Elemental(AWS Elemental Server)、Capella Systems(Cambria FTC)、Elecard(Converter Studio VOD)、Harmonic(HFS和ProMedia X Origin)、Imagine Communications(SelenioFlex File) 、Media Excel(HERO文件)、MediaKind(以前的爱立信)、Telestream(Vantage)和Spin Digital(Spin Enc)。虽然您可以在私有云或公共云中部署这些经过许可的软件,但这些程序主要被安装在单个计算机或工作站上。

  • 专用于在私有云或其他虚拟化环境中部署的编码器。 这里的公司包括带有Selenio One XC的Imagine Communications和带有Electra XVM和VOS SW Cluster产品的Harmonic。

  • 可用于在私有云或其他虚拟化环境中部署的云编码器。该组中的公司包括Bitmovin和Encoding.com。

第三类产品改变了传统定价模式:如果第一类供应商向企业收取软件的一次性许可证与年度技术支持,那么第三类供应商即提供每分钟或每GB的输出自定义报价,企业即可通过不同的选择降低资本支出并将SaaS定价引入本地编码。

我们现在回到定价,在选择编码器我们从三个基本点来分类。

基本要求

这部分我们探讨的是编码是否可以完成我们工作要求,当然我尽量简短不啰嗦。

软件是否在你希望的硬件或系统平台运行,无论现在还是将来?如果虚拟化环境那么近期或者未来扩容是否在你考虑范围内。

编解码、格式、字幕、DRM

系统是否支持字幕,DRM所需的编解码器和封装容器,并包含对广告插入等其他小需求?公司的当前或者将来是否集成DRM提供商?是否计划支持近期或者未来的编解码器如:HEVC、VP9、AV1、VVC;例如编码或者封装容器是否支持HLS集成分发HEVC、H.264或使用DASH编码的VP9、AV1梯度编码呢?

多项选择

通常购买的编码器满足绝大多数节目需求,但是万一节目量激增会发生该怎么办?您是否使用临时云编码,还是必须购买一套新的系统?如果云编码功能尚可,它们是否使用相同编码参数和封装容器,可否执行独立QC以保证无缝接入质量?

编码器工作流工具是否需要?

首先要问的问题之一是编码器将如何以及在何处适合您的整个生产流程。如果编码是独立的,并非集成的工具,那么我们最关心的是可靠的编码触发机制,如GUI或者热目录监视。如果是集成度高工作流,可能还需要关注应用API调用。

如果寻找编码器来创建生产流,需要预先定义模板或者流程。它是否包含预设质量标准或者对QC审计后编码确保视频/音频符合最基本视频质量标准!

如果您正在寻找流程化编码或者封装分发中心,请考虑具有工作流的Telestream Vantage或Harmonic WFS等产品。所有情况下,我们担心编码前和编码后的质量控制或者类似参数问题,因为输出最终结果会通过同公司或第三方用户来访问这些功能服务。

可控性

如果仅在服务器上提供传统GUI或者多个基于浏览器的GUI配置和控制系统?API或者内网安全和权限可访问性如何?

性价比

竞争定价系统可能是最头痛部分,一切都归属于您对生产环境方方面面评估,至少未来的2年或者更久;你需要考虑以下问题:

  • 考虑到一些供应商销售需要打包器的独立编码器和一些销售集成编码器/打包器的产品,您需要获得哪些组件才能完成工作?

  • 如果购买基于软件的系统,所需硬件的成本是多少?

  • 您需要购买多少个系统才能达到所需的吞吐量?硬件加速是否可以作为简单购买更多系统的替代方案?

  • 如果您购买多个系统,从冗余的角度来看如何工作的?如果控制器出现故障,整个集群是否崩溃,或者是否存在冗余?

  • 技术支持需要多少费用,特别是在安装和设置期间以及此后的正常操作问题?

  • 有任何设置或安装费用吗?

  • 软件和任何硬件售后更新的持续成本是多少?

  • 如果购买硬件在保修期内利旧的系统获得硬件交换的成本和时间是多少?

一旦清晰知道必须购买什么规模的所需性能,冗余和售后支持水平,您就应该能够完成不同供应商提供的定价模型。

前瞻考虑

2018年的编码流行术语少不了“per-title encoding”为特定视频自定义编码梯度能力。本期中的另一个购买指南总结了必要哪些功能,并简要讨论了场景编码。在这一点上您有必要为任何内容提供一个强大的per-title编码功能。

2019年的编码器流行术语是“CMAF”——Common Media Application Format。这是一个允许生产者编码、封装打包与分发一组加密文件给HLS和DASH播放器的视频编码标准。CMAF将会大幅度简化编码过程并削减存储与其他运营成本,同时维持多路传输复用或实时切片打包 7*24运行的能耗。这也就是为什么在2019年您考虑任何编码器都应该能够生成一组受FairPlay、PlayReady和Widevine DRM保护的CMAF格式内容。

改善编码质量

编码器公司的营销部门很难宣称他们的解决方案可以提供业界最高质量的编码方案。因为大多数编码公司正在使用的都是由编码项目主管工程师所实施并经许多买家使用与测试的一套通用编解码器,这就意味着大多数公司的编码器产品的输出质量将非常相似。

但这些编码器产品的明显差距主要体现在编码吞吐量与Per-Title编码显著差异上。这是我们需要花时间重点研究的,而非把时间花费在与编码质量无关的差异测试上。

摘要

如何选择编码器是一项与视频内容生产息息相关的关键决策,视频质量与观看兼容性是需要重点关注的两个维度,同样这些也是用户体验质量的重要组成部分。希望这些信息能为您的决策带来帮助。

作为最后建议,您应该始终与当前客户沟通,了解最初设置状态,程序稳定性情况,如何提供迅速支持,以及公司未来要求。当然供应商只会为你提供合适的客户,但任何信息有总比没有强。除了与当下的使用者交谈,行业中还有更多客户流失,你可以与那些希望重构的平台负责人聊聊。为此选择考虑编码器A&B,心里都应该清楚有数放弃A选择B,反之亦然。

更多参考请下载pdf

https://www.streamingmedia.com/PDF/64b15f50-2708-4588-917a-e0cdbf9249ce.pdf?i=4cc344f0-9423-467c-a72a-9db081dadf8d

LiveVideoStack  招募

LiveVideoStack正在招募编辑/记者/运营,与全球顶尖多媒及技术专家和LiveVideoStack年轻的伙伴一起,推动多媒体技术生态发展。了解岗位信息请在BOSS直聘上搜索“LiveVideoStack”,或通过微信“Tony_Bao_”与主编包研交流。

点击【阅读原文】,了解更多大会相关信息。

2019 VOD编码工具指南相关推荐

  1. JavaScript编码风格指南

    首次发表在个人博客 前言 程序语言的编码风格指南对于一个长期维护的软件而言是非常重要的;好的编程风格有助于写出质量更高.错误更少.更易于 维护的程序. 团队合作需要制定一些代码规范还有利用一些工具来强 ...

  2. [转帖]2019 简易Web开发指南

    2019 简易Web开发指南 2019年即将到来,各位同学2018年辛苦了. 不管大家2018年过的怎么样,2019年还是要继续加油的! 在此我整理了个人认为在2019仍是或者将成为主流的技术与大家分 ...

  3. 新版SVT-AVS3发布 编码效率提升并提供更灵活的编码工具

    正文字数:1143  阅读时长:2分钟 SVT-AVS3的用户正在从广电领域渗透到互联网企业. 近期,SVT-AVS3发布了新版.新版本支持了更加完善的编码工具并可以灵活地开关,编码效率大大提升,最佳 ...

  4. c++编码风格指南_100%正确编码样式指南

    c++编码风格指南 Tabs or spaces? Curly brace on the same line or a new line? 80 character width or 120? 制表符 ...

  5. 在线编码工具_我希望在开始编码时就已经知道的工具

    在线编码工具 by Mario Hoyos 通过马里奥·霍约斯(Mario Hoyos) 我希望在开始编码时就已经知道的工具 (Tools I wish I had known about when ...

  6. 7个 优秀的远程“结对编程“编码工具

    疫情原因,大家都在家远程办公.不知你是否正在寻找与远程团队协作的编码工具?本篇文章,我们寻找了当下最好的协作编码工具,这些工具将使远程结对编程更容易,并提高你和你的团队的工作效率. 如果你是一名程序员 ...

  7. 面向DevSecOps的编码安全指南|JavaScript篇

    文|martinzhou & l0u1s & monsoon I. 背景 近年来,无论是DevSecOps,还是Google SRE的可靠和安全性理念,都提倡"安全需要每个工 ...

  8. Chrome 开发工具指南

    Chrome 开发工具指南 谷歌 Chrome 开发工具,是基于谷歌浏览器内含的一套网页制作和调试工具.开发者工具允许网页开发者深入浏览器和网页应用程序的内部.该工具可以有效地追踪布局问题,设置 Ja ...

  9. Spring Boot 微服务编码风格指南和最佳实践

    文奇摄于世界尽头州立公园 通过多年来使用 Spring Boot 微服务,我编制了一份编码风格指南和最佳实践列表.这份清单并不全面,但我希望您能找到一两点可以借鉴的地方,无论您是新手还是经验丰富的 S ...

最新文章

  1. 系统异常设计规范与原则
  2. 在Qt(C++)中使用QThread实现多线程
  3. [na]vrrp两用(网关冗余+服务器热备)
  4. nb-iot链路层加密_Google为低端Android手机和IoT设备创建了更快的加密
  5. Python获取类属性及其它(vim看源码常用、__dict__)
  6. java虚拟机内存不足,“Could not create the Java Virtual Machine”问题解决方案
  7. SQL Server 函数的使用(数学函数)
  8. 溜达列表的鼠标HOVER变色
  9. 测试人员问一个功能对不对,深入分析
  10. 2020_0527_近期思考
  11. MybatisPlus懒人代码生成器(附源码)
  12. 电子元器件简介——电容与电感篇
  13. Electron 仿制WeGame(二)
  14. C语言小技巧之如何求平均数
  15. AndroidStudio 之Safe Delete 安全删除
  16. 监控实时直播的四分屏的前端展示
  17. 计算机视觉外语论文翻译,图像处理-毕设论文外文翻译(翻译+原文)
  18. 微信小程序识别图片并提取文字_这款微信小程序可以批量图片转文字?识别准确率超高!...
  19. 教你用python做个街拍美图手册
  20. 横向评测常见的优秀国外5个域名注册商

热门文章

  1. 公用技术——设计模式5——创建型模式——建造者模式——待补充
  2. Vs 2015 批量 删除注释
  3. 如何在Linux下安装PyCharm
  4. 烟台农业走进物联网大数据时代
  5. nginx版本升级到1.10
  6. Android开发技巧——自定义控件之自定义属性
  7. linux和windows文件名称长度限制
  8. 【文件系统】删除文件名中含有空格的文件
  9. 泛微协同“风暴”席卷高端市场
  10. Visual Media Server – 2 - 下载模块草图