点击上方“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%以上相关推荐

  1. 腾讯云联合信通院发布《超低延时直播白皮书》,推动直播延时降低90%以上

    直播行业的蓬勃发展,推动直播技术的快速演进. 2月22日,腾讯云携手信通院联合发布<超低延时直播白皮书>.在白皮书中指出,随着越来越多线上业务需要大规模并发支持以及强互动体验,超低延时必将 ...

  2. 直播代码开发者发布的直播代码搭建教程

    正常情况下,从官方购买的直播代码搭建应该是免费的,但架不住盗版猖獗,很多朋友不了解行情,买了盗版直播代码,源码贩子不动技术不包搭建,需要自行寻找程序员进行搭建,而市面上开出的价格,在500-5000不 ...

  3. 无延时直播/超低延时直播画面同步性测试(实测组图)

    阿酷TONY  / 原创  2022-11-30 /  长沙  /  超多组图 无延时直播/超低延时直播,主要只测试延时情况,没有涉及直播产品的功能.使用操作界面,有兴趣的朋友可以加联系我实际测试哦~ ...

  4. 无延时直播/超低延时直播实际测试延时效果(项目实测组图)

    阿酷TONY  /   2022-11-30 /  长沙  /  超多组图 无延时直播/超低延时直播,主要只测试延时情况,没有涉及直播产品的功能.使用操作界面,有兴趣的朋友可以加联系我实际测试哦~~~ ...

  5. 腾讯云快直播——超低延迟直播技术方案及应用

    正文字数:4361  阅读时长:7分钟 随着直播业务的发展,在线教育,连麦直播.赛事直播等高实时性直播场景的出现,用户对于直播流畅度.低延迟等性能的要求愈加严苛.腾讯云直播技术高级工程师陈华成 从5G ...

  6. 【线上分享】快直播—超低延迟直播技术方案及应用

    随着直播业务的发展,在线教育,连麦直播.赛事直播等高实时性直播场景的出现,用户对于直播流畅度.低延迟等性能的要求愈加严苛. 10月15日 19:30,我们邀请到了腾讯 视频直播组高级工程师 陈华成 从 ...

  7. 快手发布2022直播生态报告,运营人速览

    1.快手电商推出2023年直播间联合补贴活动 1月5日,快手电商推出2023年直播间联合补贴活动.该活动主要目的是助力主播完成更高销售额,报名成功后,平台将对直播间内的一部分活跃用户发放10%-16% ...

  8. 2020年二建超押-中业白皮书-法规-管理-水利-建筑-市政

    法规,管理,水利,建筑,市政,考点超押,集训白皮书已出,每年反馈都很不错,用过的都说好,提分利器. 我们整理了一份方便大家打印复习! 链接: https://pan.baidu.com/s/1SYSC ...

  9. 跟上时代步伐的慢直播神器MZB01发布

    跟上时代步伐的慢直播神器MZB01发布 随着直播行业的兴起,慢直播逐渐成为一种人们喜爱的看点,比如直播平台上经常可以看到的景区直播,实时交通状况等等.这些都是采用了直接拉去监控摄像机的画面,然后推到直 ...

最新文章

  1. gitlab报错 fatal: index-pack failed error: RPC failed; result=18, HTTP code = 200解决方案
  2. 你的裸照,一键生成,令人害怕的不是算法,是人心!
  3. SOLO:一次性预测语义类别和实例掩码
  4. SQL关键字转换大写核心算法实现
  5. Vue 组件中 移动 this.$el 的注意事项
  6. 如果打回车来更新模板列中的TEXTBOX
  7. java rpg对战_箭头键优先(java rpg游戏)
  8. drools6.5_使用Drools 6.0进行部署
  9. C++ passes by reference, Java and Ruby don’t
  10. Java开源内容管理CMS系统J4CMS的几个样式
  11. ubuntu系统安装TP-Link无线网卡驱动
  12. 增值税怎么用计算机算,增值税计算器
  13. php mysql是bs还是cs_bs和cs架构的区别是什么
  14. 由两个曲面确定的交线的切向量求解
  15. ThinkPHP 漏洞检测
  16. 用c语言绘制小猫图案,【科研猫·R】R语言从入门到精通:Day8
  17. HTML5-企业宣传6款免费源码尽在h5edu.cn
  18. 凸集函数之基本属性和示例
  19. 破解神器Hashcat使用简介
  20. 单片机项目:8个发光二极管从上至下间隔一秒流动,其中每个管亮500ms,500ms,亮时蜂鸣器响,灭时蜂鸣器关闭,一直重复下去

热门文章

  1. 【报错笔记】在做struts项目时,所有项目代码没问题但就是报404错误。
  2. 高版本JDK13新特性以及与JDK8对比
  3. Shiro使用redis作为缓存(解决shiro频繁访问Redis)
  4. [NOI2018]你的名字
  5. 解决开机POST提示Strike tne F1 key to continue,F2 to run the setup utility
  6. Oracle Study之案例--数据恢复神器Flashback(2)
  7. mysql 5.1编译参数和编译方法
  8. exchange2013-Database is mandatory on UserMailbox..
  9. Oracle 热备份
  10. 从PHP5.2.x迁移到PHP5.3.x