《超低延时直播白皮书》已发布,推动直播延时降低90%以上
点击上方“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的能力,在编码前对视频源进行前置处理,使视频源更适配编码场景。
欢迎扫描下方二维码,获取完整版白皮书报告。
扫描图中二维码或点击阅读原文
了解大会更多信息
喜欢我们的内容就点个“在看”吧!
《超低延时直播白皮书》已发布,推动直播延时降低90%以上相关推荐
- 腾讯云联合信通院发布《超低延时直播白皮书》,推动直播延时降低90%以上
直播行业的蓬勃发展,推动直播技术的快速演进. 2月22日,腾讯云携手信通院联合发布<超低延时直播白皮书>.在白皮书中指出,随着越来越多线上业务需要大规模并发支持以及强互动体验,超低延时必将 ...
- 直播代码开发者发布的直播代码搭建教程
正常情况下,从官方购买的直播代码搭建应该是免费的,但架不住盗版猖獗,很多朋友不了解行情,买了盗版直播代码,源码贩子不动技术不包搭建,需要自行寻找程序员进行搭建,而市面上开出的价格,在500-5000不 ...
- 无延时直播/超低延时直播画面同步性测试(实测组图)
阿酷TONY / 原创 2022-11-30 / 长沙 / 超多组图 无延时直播/超低延时直播,主要只测试延时情况,没有涉及直播产品的功能.使用操作界面,有兴趣的朋友可以加联系我实际测试哦~ ...
- 无延时直播/超低延时直播实际测试延时效果(项目实测组图)
阿酷TONY / 2022-11-30 / 长沙 / 超多组图 无延时直播/超低延时直播,主要只测试延时情况,没有涉及直播产品的功能.使用操作界面,有兴趣的朋友可以加联系我实际测试哦~~~ ...
- 腾讯云快直播——超低延迟直播技术方案及应用
正文字数:4361 阅读时长:7分钟 随着直播业务的发展,在线教育,连麦直播.赛事直播等高实时性直播场景的出现,用户对于直播流畅度.低延迟等性能的要求愈加严苛.腾讯云直播技术高级工程师陈华成 从5G ...
- 【线上分享】快直播—超低延迟直播技术方案及应用
随着直播业务的发展,在线教育,连麦直播.赛事直播等高实时性直播场景的出现,用户对于直播流畅度.低延迟等性能的要求愈加严苛. 10月15日 19:30,我们邀请到了腾讯 视频直播组高级工程师 陈华成 从 ...
- 快手发布2022直播生态报告,运营人速览
1.快手电商推出2023年直播间联合补贴活动 1月5日,快手电商推出2023年直播间联合补贴活动.该活动主要目的是助力主播完成更高销售额,报名成功后,平台将对直播间内的一部分活跃用户发放10%-16% ...
- 2020年二建超押-中业白皮书-法规-管理-水利-建筑-市政
法规,管理,水利,建筑,市政,考点超押,集训白皮书已出,每年反馈都很不错,用过的都说好,提分利器. 我们整理了一份方便大家打印复习! 链接: https://pan.baidu.com/s/1SYSC ...
- 跟上时代步伐的慢直播神器MZB01发布
跟上时代步伐的慢直播神器MZB01发布 随着直播行业的兴起,慢直播逐渐成为一种人们喜爱的看点,比如直播平台上经常可以看到的景区直播,实时交通状况等等.这些都是采用了直接拉去监控摄像机的画面,然后推到直 ...
最新文章
- gitlab报错 fatal: index-pack failed error: RPC failed; result=18, HTTP code = 200解决方案
- 你的裸照,一键生成,令人害怕的不是算法,是人心!
- SOLO:一次性预测语义类别和实例掩码
- SQL关键字转换大写核心算法实现
- Vue 组件中 移动 this.$el 的注意事项
- 如果打回车来更新模板列中的TEXTBOX
- java rpg对战_箭头键优先(java rpg游戏)
- drools6.5_使用Drools 6.0进行部署
- C++ passes by reference, Java and Ruby don’t
- Java开源内容管理CMS系统J4CMS的几个样式
- ubuntu系统安装TP-Link无线网卡驱动
- 增值税怎么用计算机算,增值税计算器
- php mysql是bs还是cs_bs和cs架构的区别是什么
- 由两个曲面确定的交线的切向量求解
- ThinkPHP 漏洞检测
- 用c语言绘制小猫图案,【科研猫·R】R语言从入门到精通:Day8
- HTML5-企业宣传6款免费源码尽在h5edu.cn
- 凸集函数之基本属性和示例
- 破解神器Hashcat使用简介
- 单片机项目:8个发光二极管从上至下间隔一秒流动,其中每个管亮500ms,500ms,亮时蜂鸣器响,灭时蜂鸣器关闭,一直重复下去
热门文章
- 【报错笔记】在做struts项目时,所有项目代码没问题但就是报404错误。
- 高版本JDK13新特性以及与JDK8对比
- Shiro使用redis作为缓存(解决shiro频繁访问Redis)
- [NOI2018]你的名字
- 解决开机POST提示Strike tne F1 key to continue,F2 to run the setup utility
- Oracle Study之案例--数据恢复神器Flashback(2)
- mysql 5.1编译参数和编译方法
- exchange2013-Database is mandatory on UserMailbox..
- Oracle 热备份
- 从PHP5.2.x迁移到PHP5.3.x