作者:Yueshi Shen

翻译: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的效率。

关于ABR、CBR、VBR Twitch的工程师如是说相关推荐

  1. UBR/CBR/VBR

    CBR,VBR,ABR,UBR的特性区别: 未定比特速率(UBR:Unspecified Bit Rate):对传输速率没有指定,但可靠性要求很高,即所谓"尽力传输"(Best E ...

  2. 音视频中的CBR,VBR,ABR

    视频码率CBR和VBR   固定码率(CBR)与可变码率(VBR) 一般在我们输出视频文件的时候都会碰到一个选择即CBR与VBR,CBR的英文全称是Constant Bit Rate翻译过来是固定码率 ...

  3. MPEG简介 + 如何计算 CBR/VBR MP3 的播放时间

    [此文目的]  1.  了解 MPEG相关知识  2.  了解 MP3 的常见术语含义  3.  详解 VBR MP3的帧头格式及含义  4.  搞懂如何去计算 CBR和 VBR的 MP3文件的播放时 ...

  4. 视音频编解码基本术语及解释

    整理了一些基本视音频术语,用于入门和查询使用. H264: H264是视频的标准,是MPEG4-10,基于内容的高效编码方式. H.264/MPEG-4第10部分,或称AVC(AdvancedVide ...

  5. 视音频编解码基本术语及解释MediaInfo

    MEDIA INFO 下载: https://mediaarea.net/en/MediaInfo/Download/Windows 摘要:          整理了一些基本视音频术语,用于入门和查询 ...

  6. 让你的网站打开的更快

    不知道从什么时候开始,不管是写独立博客,还是网络应用,甚至写托管博客的人都会朝着"大"网站看齐,去追求网站的响应速度,通俗点说,就是白屏时间,因为据各种报告说,网站打开速度更快一些 ...

  7. H264---码率控制---CBR、VBR、ABR、CVBR四种编码方式

    在视频编码中,有一个模块是码率控制,即通过选择一系列编码参数,使得视频编码后的比特率满足所需要的速率限制,并且使编码失真竟可能小.该模块严格上不属于视频编码标准,属于率失真优化有两范畴.码率控制分为两 ...

  8. 视频编码中CBR和VBR的区别

    在视频编码中,有一个模块是码率控制,即通过选择一系列编码参数,使得视频编码后的比特率满足所需要的速率限制,并且使编码失真竟可能小.该模块严格上不属于视频编码标准,属于率失真优化有两范畴.码率控制分为两 ...

  9. 转: X264码率控制总结1——ABR,CQP,CRF

    2019独角兽企业重金招聘Python工程师标准>>> 1. X264显式支持的一趟码率控制方法有:ABR, CQP, CRF. 缺省方法是CRF.这三种方式的优先级是ABR > ...

最新文章

  1. 多个微服务控制台的多窗口展示
  2. Coursera自动驾驶课程第17讲:An Autonomous Vehicle State Estimator
  3. Atitit 基于dom的游戏引擎
  4. 聊聊为什么 IDL 只能扩展字段而非修改
  5. PHP编译参数 --prefix=/usr/local/php 的“深远”影响
  6. 我发现了 Microsoft Azure 中的两个漏洞
  7. 计算机开机无讯号,【图片】电脑突然开机没反应,显示器没信号!~【显卡吧】_百度贴吧...
  8. Java动态代理二——CGLIB动态代理应用
  9. 当百度与重庆相遇,李彦宏的AI越过山丘?
  10. 每日一题(4.27 - 5.2)
  11. 魅族16t无法点击计算机传输,魅族16T如何打开USB调试模式连接电脑 魅族16T一键开启游戏模式方法教程...
  12. 机器学习----矩估计方法
  13. 知道IP入侵个人的电脑
  14. linux文件中的换行符,Linux中的换行符
  15. 使用python代码举例说明离散随机变量
  16. 寻宝游戏 - 利用iBeacon特性设计的iOS线下寻宝游戏 - 物联网小游戏
  17. HTTPS_SSL加密(HTTP终)
  18. 3行代码,用Python制作一个整蛊朋友的病毒小程序
  19. c语言吴振国课后题答案,Exam10_C作业与实验10期中自测卷参考答案(最新整理)
  20. mu4e查看图片和html代码

热门文章

  1. linux vi 报错 E37: No write since last change (add to override)
  2. #define的用法
  3. 报错:Error in file.exists(pythonPath)
  4. E575: viminfo: Illegal starting char in line:(z)
  5. CMD/DOS学习笔记
  6. NLP中的特殊标记(Special Tokens)[PAD]、[CLS]、[SEP]、[UNK]
  7. 云上部署oracle rac,在青云上部署oracle rac全过程
  8. Linux下Socket编程之UDP原理
  9. Rocky Linux一个可用于生成环境的Linux
  10. Imagemotion for Mac(PS动画插件)