前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《超低延时直播白皮书》已发布,推动直播延时降低90%以上

《超低延时直播白皮书》已发布,推动直播延时降低90%以上

作者头像
LiveVideoStack
发布2022-03-04 13:13:21
2.3K0
发布2022-03-04 13:13:21
举报
文章被收录于专栏:音视频技术音视频技术

点击上方“LiveVideoStack”关注我们

直播行业的蓬勃发展,推动直播技术快速演进,超低延时直播技术也应运而生。

2月22日,腾讯云携手信通院联合发布《超低延时直播白皮书》,旨在为超低时延直播技术标准化奠定基础,促进超低延时直播技术创新化发展,推动各行各业借助超低延时音视频技术进行数字化转型和业务创新,从而为广大用户带来更优的线上互动体验。

超低延时直播技术架构和性能优化显著,延时降低90%以上

腾讯云作为超低延时直播技术的主导和引领者,首创将WebRTC技术引入直播领域,并首家将直播延时降低到500ms以内。

具体而言,超低延时直播摒弃传统直播的传输播控模型,借鉴 WebRTC通信模型,将传输和播放控制实时反馈联动,形成反馈闭环,通过感知网络状态来调整播控缓存策略和传输策略,将传输和播控缓存根据实时网络进行最优匹配,使用户在变动的网络环境下获取到最优的体验。

图:超低延时直播播放模型

另一方面,超低延时直播基于WebRTC对信令流程、音视频编码格式支持、传输改造、媒体处理优化源等方面进行全面优化升级,更加符合大规模直播场景的应用。

此外,超低延时直播在核心指标比如渲染卡顿、首帧耗时等指标均超过传统直播CDN,为用户打造更优的直播互动效果。

白皮书节选内容如下:

WebRTC的初衷是用于低延时P2P(Peer-to-Peer)通信,在直播场景也面临挑战,具体体现为:

  • 信令流程繁杂,难以满足直播首帧要求。标准WebRTC的信令需要经过SDP(Session Description Protocol)交换,ICE(Interactive Connectivity Establishment)交互,DTLS(Datagram Transport Layer Security)握手之后方能传输流媒体数据,导致其首帧耗时严重恶化。
  • 原生WebRTC的音视频编码格式支持受限。标准WebRTC音频不支持AAC,视频不支持H.265和B帧,不支持私有数据的透传,不支持可选加密,这些都限制了在大规模直播场景的应用。
  • 原生WebRTC传输策略不适合直播,其重传发包策略上基于P2P通话和会议,不适合一对多的直播场景。在通话场景,为保证低延时,重传较激进, 但在高码率、高画质的直播场景,激进的重传会带来大量的带宽浪费。
  • 原生WebRTC码控策略不适应直播,其通过探测带宽,按照带宽容量来调整编码码率发包,而超大房间的直播,主播编码推流被多个下行用户复用,这个场景下,单个用户无法反馈给主播去调整推流编码,因此需要新的解决方案。

针对上述问题,腾讯云快直播基于WebRTC,在超低延时直播方面进行了大量的优化升级。

1)信令改造标准WebRTC的信令交互是一个繁复冗长的过程,不利于直播的快速开播,解决这个问题需要对信令进行细致的考虑。

快直播提出的miniSDP二进制压缩方案(压缩比10%)是一个事实上的标准,它将SDP压缩到一个MTU之内,在一个UDP包内完成SDP交互。信令简化压缩后,再通过一定的冗余,使得在50%的丢包下也能保证首帧成功。在此基础上,进一步提出的0-RTT方案,降低70%的延迟。miniSDP和0-RTT的结合,大幅减少信令耗时、提升信令交互成功,进而降低首帧耗时和提升开播成功率。

2)音视频改造

  • 支持AAC

AAC作为传统直播领域最为常用的音频格式,但WebRTC不支持。快直播基于WebRTC根据RFC6416和ISO/IEC 14496-3,实现对上述AAC格式的完整支持,以避免WebRTC 中Opus音频格式的转码。与此同时,附加其上的Audio FEC(Forward Error Correction)能够根据网络配置不同的冗余度,使音频能抗50%以上的丢包。

  • 支持 H.265

H.265比H.264有更高的压缩率,在直播领域已经普遍采用,标准WebRTC不支持 H.265,为避免H.265到H.264转码带来的成本和耗时。快直播以RFC7798为基础,实现了对H.265的支持,从而避免转码成本的增加和转码延迟的引入。

  • 支持B帧

B帧在直播流中广泛存在,其增强了画质,同时大幅减少了码率。标准WebRTC为了减少编解码引入的耗时,不支持B帧,但快直播在延迟和画质、压缩率、成本之间取得了一个较好的平衡,通过客户端SDK配合CDN,实现B帧的支持。

3)传输改造

  • 柔性分级传输

标准WebRTC弱网应对策略是通过反馈网络到推流端,使推流端调整码率来适应网络。直播场景,主播和观众一对多模型,不能因为某些观众的网络问题去调整主播推流码率。快直播通过服务端和客户端的配合,基于WebRTC扩展帧属性和依赖关系,采样柔性分级丢帧的传输策略渐进式降低码率,以适应弱网情况。

  • 自适pacing(平滑发包)

快直播充分利用客户端缓存信息、流媒体信息自适应调节发包平滑长度,同时满足平滑去抖动和收帧延迟要求。

  • 自适应码率(Simulcast/ABR)

快直播一方面支持通过客户端使用扩展的RTCP作为切流信令,另一方面,服务端也具备依据网络情况来无缝切流的能力。服务端通过渐进式的超发来探测网络的承载能力,作为切流决策依据,达到快速、精准、无缝切流的目的。

  • P2P分发网络

快直播利用WebRTC原生自带的Peer to Peer的能力,能够将看同一视频流的用户群就近地组织成网络,相互分享传输,每个客户端节点一边通过RTCP与CDN协商数据,同时与其他客户端节点约定内容共享,在保持低延时的前提下依然能够取得不错的效果。

4)其他改造

  • 支持私有数据透传以适配业务

众多客户在使用标准直播时,需要通过Meta Data、SEI(Supplemental Enhancement Information)和自定义NALU(Network Abstraction Layer Unit)等方式传递业务信息;快直播通过RTP扩展,支持全链路的私有数据透传;使得标准直播到快直播的迁移过渡平滑无缝。

  • 可选加密

标准WebRTC设计应用于音视频通信领域,为保证安全,加密为必选项,而直播部分场景,其内容本身公开,但对性能和终端消耗敏感,安全性可以适当降低,快直播可根据SDP协商选择开关加密。关闭加密可明显减少前后端开销,也进一步节省DTLS握手耗时,最终减少首帧耗时。

  • 媒体处理优化源

针对低延时场景,在保证画质的基础上,降低I帧大小。结合AI的能力,在编码前对视频源进行前置处理,使视频源更适配编码场景。

欢迎扫描下方二维码,获取完整版白皮书报告。


扫描图中二维码或点击阅读原文了解大会更多信息

喜欢我们的内容就点个“在看”吧!

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

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

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

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

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