前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于ABR、CBR、VBR Twitch的工程师如是说

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

作者头像
LiveVideoStack
发布2021-09-02 12:07:29
8770
发布2021-09-02 12:07:29
举报
文章被收录于专栏:音视频技术

作者: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的效率。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 LiveVideoStack 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档