16年爆发的千播大战到20年经受的疫情洗礼,五年的蓬勃发展和资本沉淀已让直播这个行业由最初的野蛮生长逐渐过渡到了平稳的成熟期。
但随着疫情的催化,一方面类似电商带货,在线教育这种大规模低延时直播应用场景地不断涌现,使得客户对于直播流畅度、低延时等性能的要求愈加严苛。另一方面,连麦互动、实况赛事等高实时性直播场景的普及,也使得观众对于直播延时、互动、清晰度等方面的要求不断提升。直播行业正在逐步向低延时、强互动、超高清、沉浸式的方向升级。传统CDN直播无法满足这样的低延时需求,而实时音视频产品虽然能满足延时需求,但面对超大并发仍不足以全面支撑这场“直播升级”。整个行业都在寻求突破性的解决方案。
2月22日,腾讯云携手信通院联合发布《超低延时直播白皮书》(文末附下载),首次系统性地阐释了超低延时直播技术,为行业在超低延时方向的发展提供了新的思路及解法。作为首家将直播延时降低到500ms以内的云厂商,下面我们就来看看腾讯云从传统CDN直播到超低延时快直播的“升级”之路。
破局之道:WebRTC超低延时技术
传统的CDN直播,一般主要使用FLV、HLS、RTMP几种直播协议。RTMP和FLV延时一般在3-5秒左右,HLS延时则更大,达到几秒到几十秒。3~5秒延时对于传统的直播形式可以被接受, 但是对于某些特定的场景效果会很差,例如需要两个主播进行互动的主播PK场景。
那么如何打造既具备低延时观看体验,接入高效,价格又可接受的直播技术方案呢?为满足市场需求,这套方案应当满足以下三点:
- 播放器兼容性较好,能够支持跨平台播放需求;
- 性价比高,能够支持大规模并发需求;
- 技术特性能够满足低延时流媒体特性和可扩展性的要求。
腾讯云音视频找到的破局之道是基于Google在2011年开源的WebRTC协议标准,首创将WebRTC技术引入直播领域,对现有的直播系统架构进行了改造优化,打造出全新的超低延时直播技术——快直播。
首先,腾讯云工程师们摒弃了传统直播的传输播控模型,借鉴 WebRTC通信模型,将传输和播放控制实时反馈联动,形成反馈闭环,通过感知网络状态来调整播控缓存策略和传输策略,使传输和播控缓存实时对网络进行最优匹配,使用户在特定的网络环境下达到体验最优的效果。
当然WebRTC的初衷是用于低延时P2P通信,在适配直播系统时也会面临挑战。我们通过信令改造、音视频改造、传输改造、增值改造来实现流媒体功能的匹配和升级。
信令改造:
- 标准WebRTC的信令交互是一个繁复冗长的过程,不利于直播的快速开播。快直播通过采用miniSDP二进制压缩方案,将SDP压缩到1个MTU内,在一个UDP包内完成SDP交互,并结合0-RTT方案,大幅减少信令耗时、提升信令交互成功率,进而降低首帧耗时,提升开播成功率。
音视频改造:
- 快直播拓展了WebRTC的能力,支持AAC音频,支持H.265编码并支持B帧。
传输改造:
- 柔性分级传输:快直播通过服务端与客户端的配合,WebRTC扩展帧属性和依赖关系,采样柔性分级丢帧的传输策略来渐进式降低码率,以适应弱网情况。
- 自适应码率(Simulcast/ABR):快直播通过扩展RTCP作为切流信令,客户端和服务端都具备根据网络来无缝切流的能力,服务端通过渐进式超发来探测网络的承载能力,作为切流决策依据,达到快速、精准、无缝切流的目的。
- P2P分发网络:快直播利用WebRTC原生自带的P2P能力,能够将看同一视频流的用户群就近地组织成网络,相互分享传输,每个客户端节点一边通过RTC与CDN协商数据,同时与其他客户端节点约定内容共享,在保持低延时的前提下依然能够取得不错的效果。
增值改造:
- 快直播支持全链路的私有数据透传,使得标准直播到快直播的迁移过渡平滑无缝。同时可根据SDP协商选择开关加密。关闭加密可进一步减少首帧耗时。
在一系列性能改造和优化后,快直播相比传统CDN直播,能够有效降低延时、卡顿,在首屏渲染时长上也具有明显的体验优化。
用户为本:回归用户体验
1. 简单、高效的接入体验
腾讯云快直播在最初的产品设计中,就致力于能够让已经使用过标准直播的客户无缝切换到快直播,同时新接入快直播的客户能够有足够简单的接入体验。即使在WebRTC协议和传统RTMP、FLV、HLS协议的请求方式、鉴权方式都不相同的情况下,快直播团队依然坚持让用户将快直播只理解为“云直播的第四种播放协议”,同一个域名既可以使用标准直播,又可以使用快直播。这样标准直播客户升级到快直播,只需将下行播放地址的协议头由http://改为webrtc://,其余配置和能力全部复用,无需任何特殊配置和开通,就可以体验到快直播播放。相比将快直播完全独立域名、独立开通使用的方案,腾讯云快直播的切换成本极低,极大地降低了客户的切换负担和时间成本。
2. 面向不同的客户,提供差异化接入方案
面向不同的客户,腾讯云快直播从客户视角出发,针对实际场景提供了差异化的接入方案。对于选择移动直播SDK的客户,快直播团队在移动直播SDK中集成快直播能力,解决好兼容问题,让客户就能直接升级使用;
对于自研播放器的客户,腾讯云快直播可为其提供独立的快直播传输层接入SDK,方便客户直接集成,或将我们对WebRTC协议的优化方案标准化出来,方便客户或按照我们的优化标准自己进行改造。
3. 不断推进产品对Web浏览器的兼容
不断推进产品对浏览器的兼容,使其能够支持并覆盖更多的Web/H5端的平台,这为使用PC端网页作为内容传播载体的客户提供了更大的操作空间。
4. 为客户提供实时数据监控能力
质量数据,包括码率、帧率、卡顿、时延,首帧等,能够帮助客户掌握平台的传输情况,及时排障;运营数据,包括不同渠道的主播日活、观看量、SDK版本分布、用户设备分布等,可以帮助客户建立起对平台用户的全面分析。腾讯云快直播提供具备实时反馈信息的数据监控能力能力,使得产品体验得到了大幅的提升。
面向未来:直播升级之道
直播的魅力在于实时和多向的互动,电商直播中的秒杀、红包等实时互动环节,企业直播中现场多机位的无缝切换,教育直播中老师和学生的实时连麦交流……伴随互联网技术升级迭代的大潮,直播技术也在不断升级发展,而这样的升级又推动了观众对直播品质的进一步要求。技术的发展和大众的需求相互推进,支撑着直播的升级之路。
从文字到图文再到视频,未来将会是超高清、低延时、沉浸式、强互动的全真互联网时代,5G的到来也会使边缘带宽由Mb增长至Gb,更大的容量与更低的延时让电商、在线教育、云游戏、VR、AR、物联网、自动驾驶这类低延时音视频应用场景变得更为丰富。超低延时直播也将与各种新业态、新模式、新价值相融合,在各种应用场景中释放直播技术的价值,推动产业数字化转型升级。
↓ 长按扫码下载《超低延时直播白皮书》 ↓
腾讯云音视频在音视频领域已有超过21年的技术积累,持续支持国内90%的音视频客户实现云上创新,独家具备 RT-ONE™ 全球网络,在此基础上,构建了业界最完整的 PaaS 产品家族,并通过腾讯云视立方 RT-Cube™ 提供All in One 的终端SDK,助力客户一键获取众多腾讯云音视频能力。腾讯云音视频为全真互联时代,提供坚实的数字化助力。