点击上方“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的能力,在编码前对视频源进行前置处理,使视频源更适配编码场景。
欢迎扫描下方二维码,获取完整版白皮书报告。
扫描图中二维码或点击阅读原文了解大会更多信息
喜欢我们的内容就点个“在看”吧!