关于ABR、CBR、VBR Twitch的工程师如是说
2017-11-22 00:00
302 查看
作者:Yueshi Shen
翻译:Ant
Twitch发起了一项优化码率算法的项目,LiveVideoStack对原文进行的摘译,点击【阅读原文】访问英文连接。
![](https://ss.csdn.net/p?http://mmbiz.qpic.cn/mmbiz_png/icicA9AEakF1HqZVwzyXqp3L4PAOFzbTj1jYFibYjZA9nPkkHpT8dmibWOGpgIbt7GaS5icC3ycaOLfm8lKRT1Z3VuQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1)
自适应码率(ABR)正在成为保证互联网直播、点播可靠性的重要技术之一。ABR视频流将内容切片成2-10秒的片段,每个片段都按照多个分辨率、码率进行编码(即有个视频轨)。
在客户端,播放器会监测用户当前的带宽,并选择一条最佳的视频轨进行回访,选择的策略要实现两个目标:
通过下载最高码率的视频轨,实现最佳视频回放;
保证回放的视频轨的码率低于当前的带宽,使得视频回放流畅(见图1)。
为了保证同时实现这两个目标,播放器需要知道每个视频轨片段的码率,才能决定下载哪个视频轨片段。因此,视频轨片段通常保持同样的大小(尽管HLS允许大10%),并告知播放器(播放器首先下载主manifest文件,它包含每个视频轨的码率信息)。
![](https://ss.csdn.net/p?http://mmbiz.qpic.cn/mmbiz_png/icicA9AEakF1HqZVwzyXqp3L4PAOFzbTj112m3bABs9dDQeg5JSAbVddNK5HSXIHhcqwkiaPV0EU5F14AwqDFuTug/0?wx_fmt=png)
图1:根据用户的带宽变化,播放可以从一个视频轨转换到另一个。
固定码率(CBR)编码采用时间等长的视频轨片段,这是一种简单且流行的保持视频轨片段大小相等的方式。不过,CBR限制了编码的效率,不能输出最佳的视频。另一方面,可变码率(VBR)编码能够输出更高质量的视频,降低码率。不过,VBR模式的视频轨切片大小是随机的,这会引发播放器缓存问题——由于不能预测切片的大小,将导致播放器不知道选择哪个视频轨下载。
有上限的VBR可以实现可用码率(ABR)视频流,在这种模式下码率是可变的(VBR),不过被限制在一个最大值(高于目标码率10%),虽然视频的质量没有纯粹的VBR高,但播放器可以预测下一个片段的大小。
为了让ABR保留VBR的优势,必须运行在纯粹的VBR模式下,保证每个视频流的切片大小一致,并且与目标码率相同(见图2)。
![](https://ss.csdn.net/p?http://mmbiz.qpic.cn/mmbiz_png/icicA9AEakF1HqZVwzyXqp3L4PAOFzbTj1kwicoGGVg86slTGOy8vShACLwmmxD1yFQTCf8wKhDWG5ynHJ2UdBFjg/0?wx_fmt=png)
图2:ABR-VBR是理想的模式,编码器在VBR模式下工作,并且切片大小一致。
目前在OTT行业,H.264/AVC是最流行的编码标准。大部分编码器是针对广播行业开发的,他们支持CBR或Statmux模式。虽然这些编码器也支持ABR,但OTT行业应用场景下并不能发挥VBR的优点。
Twitch团队一致致力于优化编码效率,并发起了一项公开的研究项目。任何开发者可以对码率算法进行优化,提升ABR-VBR的效率。
翻译:Ant
Twitch发起了一项优化码率算法的项目,LiveVideoStack对原文进行的摘译,点击【阅读原文】访问英文连接。
自适应码率(ABR)正在成为保证互联网直播、点播可靠性的重要技术之一。ABR视频流将内容切片成2-10秒的片段,每个片段都按照多个分辨率、码率进行编码(即有个视频轨)。
在客户端,播放器会监测用户当前的带宽,并选择一条最佳的视频轨进行回访,选择的策略要实现两个目标:
通过下载最高码率的视频轨,实现最佳视频回放;
保证回放的视频轨的码率低于当前的带宽,使得视频回放流畅(见图1)。
为了保证同时实现这两个目标,播放器需要知道每个视频轨片段的码率,才能决定下载哪个视频轨片段。因此,视频轨片段通常保持同样的大小(尽管HLS允许大10%),并告知播放器(播放器首先下载主manifest文件,它包含每个视频轨的码率信息)。
图1:根据用户的带宽变化,播放可以从一个视频轨转换到另一个。
固定码率(CBR)编码采用时间等长的视频轨片段,这是一种简单且流行的保持视频轨片段大小相等的方式。不过,CBR限制了编码的效率,不能输出最佳的视频。另一方面,可变码率(VBR)编码能够输出更高质量的视频,降低码率。不过,VBR模式的视频轨切片大小是随机的,这会引发播放器缓存问题——由于不能预测切片的大小,将导致播放器不知道选择哪个视频轨下载。
有上限的VBR可以实现可用码率(ABR)视频流,在这种模式下码率是可变的(VBR),不过被限制在一个最大值(高于目标码率10%),虽然视频的质量没有纯粹的VBR高,但播放器可以预测下一个片段的大小。
为了让ABR保留VBR的优势,必须运行在纯粹的VBR模式下,保证每个视频流的切片大小一致,并且与目标码率相同(见图2)。
图2:ABR-VBR是理想的模式,编码器在VBR模式下工作,并且切片大小一致。
目前在OTT行业,H.264/AVC是最流行的编码标准。大部分编码器是针对广播行业开发的,他们支持CBR或Statmux模式。虽然这些编码器也支持ABR,但OTT行业应用场景下并不能发挥VBR的优点。
Twitch团队一致致力于优化编码效率,并发起了一项公开的研究项目。任何开发者可以对码率算法进行优化,提升ABR-VBR的效率。
相关文章推荐
- 台湾工程师聊关于IC代工业
- 2004年全国计算机技术与软件专业技术资格(水平)考试网络工程师备考参考之一——关于大纲和教材
- 关于创业者与风险投资腾讯创始人、董事局主席马化腾如是说
- VBR、ABR、CBR三种编码方式
- 关于一个合格的驱动工程师
- 关于”算法工程师/机器学习工程师”的笔试和面试总结
- 工程师手记-关于KDC证书、10006事件以及userenv日志文件的问题
- 关于红黑树和AVL树,以下哪种说法不正确?----腾讯2016研发工程师在线模拟笔试题
- 在C++面向对象编程语言中,以下关于接口的阐述不正确的是:----腾讯2016研发工程师笔试题(一)
- 【转】关于测试工程师的几个笑话
- 关于非接触IC卡对话硬件工程师
- 音视频中的CBR,VBR,ABR
- 吴恩达(Andrew Ng)深度学习工程师笔记 - 第一门课-神经网络和深度学习-第一周深度学习概论-第五节:关于这门课
- 关于百度统计无法访问,或拒绝百度服务器登录,请联系您的工程师予以解决的解决办法
- [转载]知乎上一篇关于怎样面试IOS工程师的回答,用于面试和学习都不错
- 下面关于HTTP协议的说法正确的是:----腾讯2016研发工程师笔试题(一)
- H.264码流:VBR、ABR、CBR
- 给年轻的工程师---关于高工资
- 关于Apple Watch,听听开发了两个月Watch App的工程师怎么说
- 关于近期java研发工程师面试的一些总结