0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

超低延迟直播技术方案及应用

LiveVideoStack 来源:LiveVideoStack 作者:LiveVideoStack 2020-11-02 09:54 次阅读

随着直播业务的发展,在线教育,连麦直播、赛事直播等高实时性直播场景的出现,用户对于直播流畅度、低延迟等性能的要求愈加严苛。腾讯云直播技术高级工程师陈华成 从5G时代未来直播产品的发展趋势、直播行业业务新需求出发,分享腾讯云快直播(超低延迟直播)的建设方案、应用以及技术优势与优化实践。

大家好,我是腾讯云直播技术高级工程师陈华成,这次和大家分享的主题是腾讯云快直播——超低延迟直播技术方案及应用。主要涵盖以下四个方面:直播行业的背景;直播行业的现状;快直播(超低延迟直播)方案;快直播——延迟、秒开、抗性、画质提升。

01 PART 直播行业的背景 1.1 直播行业新变化

首先我们来看一下整个直播行业在近期有哪些新的变化。5G的到来将使得边缘带宽由Mb增长至Gb、带宽容量增加、延迟由30ms减小至1ms左右;此外应用场景也将得到丰富,调研发现与5G最相关的10大场景均是低延迟音视频应用,比如电商类、在线教育、云游戏、VR、AR、物联网自动驾驶等等。 1.2 快直播(超低延迟直播)应用场景 本次分享主要介绍两个快直播(超低延迟直播)应用场景。

直播带货兴起——要求延迟小于500ms

首先是直播带货。相信大家近一年对直播带货应用场景感受很深。据统计,今年五一期间整个直播带货量增长了五倍左右。那带货场景有哪些呢?其实就是把线下的促销变成了线上,上图中列举了两个典型场景。第一个是低价秒杀促销,主播为了活跃气氛带动更多的人参与进来,她会给一些低价商品让大家抢购,秒杀的过程要求延迟很低。第二个是主播为了活跃气氛发红包,这两个场景对延迟的要求都很高。现在标准直播的延迟一般在三到几十秒,是无法满足带货需求的。延迟高也限制了带货新玩法的出现,导致现在的直播带货几乎没有互动。

教育类

第二类场景是教育类客户大班课,大班课比较火的主要原因是名师价值最大化。在线教育类企业最主要就是把名师价值最大化,同时保证教学效果。在线教育大班课这种模式,老师面向的可能是上百万学生在听讲,课程讲解结束后老师一般会出一个题目让学生练手,比如数学中配图的解答题、英语的选择题。如果延迟比较高达到几十秒,那老师与学生的互动体验就非常差,老师与学生之间收、发题目的过程会因为延迟较高,导致老师认为已经把题目发给学生,学生实际上还没看到题目,而在老师收题时,学生可能刚看到题目或根本没看到题目,从而导致收题率不高,学生投诉比较多,这是对低延迟刚性的需求。 02 PART 直播行业现状 2.1 标准直播现状

现在直播行业大多数用的是标准直播,它的直播协议主要是FLV、HLS、RTMP。FLV延迟一般在2-10秒左右,它的延迟因素主要是GOP大小和TCP弱网传输积压。HLS的延迟更大,一般是几秒到几十秒,它的延迟因素主要是GOP大小和TS大小,HLS是以文件索引下载的方式,它每个文件的的大小限制了它的延迟,很多播放器要等3个TS才播放,而3个TS可能就有几十秒了,所以HLS在标准直播中延迟最高。此外RTMP的延迟因素主要是GOP大小和TCP弱网传输积压。以上介绍的集中标准直播都是基于TCP的,当前QUIC的引入对弱网带来的延迟有一定的改善,但QUC没有流媒体特性,在这里不是一个最佳方案。 2.2 TCP不适合低延迟直播的原因

延迟确认+捎带应答 带来感知延迟

TCP有延迟确认和捎带应答,比如数据发过来不是立即对每个数据响应ACK,攒一定的数据量才会响应,这就会带来感知延迟,超低延迟整体只有几百毫秒,这一部分带来的延迟是不可忍受的。

弱网场景,可靠传输导致数据积压

弱网场景下,像TCP机制会导致数据积压。举个例子,主播在推流,然后发送缓存,因为TCP有一个可靠缓存的对列,而网络条件比较差的时候,发送窗口发送完了却一直没有ACK,窗口一直没有往前滑动,就会导致直播这种实时传播的数据积压,甚至会导致几秒钟或几十秒钟的延迟。

ACK机制导致通道利用率低

ACK机制会导致通道利用率低,在ACK之后不是立马就返回的,还有ACK的等待时间。在这段时间通道未被利用就会导致通道利用率变低。

无流媒体特性、可靠传输导致无效重传

直播是有时效性的,上图1、2、3、4、5、6,可以看到5、6数据已经过期了,但无效的重传会一直重传,直到传输成功,所以无效重传进一步加剧拥塞。 综合以上四点可以得出TCP不适合低延迟直播。 03 PART 快直播(超低延迟直播)方案 3.1 UDP是低延迟直播的必由之路

调研显示,低延迟直播在业界的协议有QUIC、SRT、WebRTC、ORTC,比较而言QUIC的延时还是比较大的,因为他没有流媒体功能;SRT、WebRTC、ORTC延迟都是毫秒级别的,都有流媒体特性,其中SRT、ORTC用的比较少,WebRTC生态繁荣,因此我们选择了WebRTC做超低延迟。 3.2 延迟关键问题在哪里?

我们要做超低延迟,首先就要知道它们的超低延迟出现在哪里?整个直播过程从数据的采集、编码都经过哪些过程? 首先是视频输入摄像头采集的数据,由YUV编码成264、265数据,采集t0,编码t1,推流传输t2,转码t3,再由CDN传输,经过视频解码,最终通过视频显示出来。在这个过程中摄像头采集耗时很小,一般在十几毫秒左右;编码耗时通过调整编码参数也能达到几十毫秒;推流传输是和rtp相关的,基本耗时在十几毫秒到几十毫秒;如果采取高速转码,耗时也不高;最关键的是CDN传输和视频解码,用户的网络现在千奇百怪,对于网络条件好的用户,传输延迟可能不高,但对于网络条件不好的用户,传输延迟可能就要达到几秒甚至几十秒,所以TCP传输延迟是一个不可控的因素。在t5视频播放和解码阶段,目前像Flash播放器、hls、rtmp播放器缓存需要6-10秒,播放器的缓存是产生延迟的关键原因。那为什么不在当前直播条件下把缓存调到0呢?这是由于调到0之后延迟虽然小了,但卡顿会很高。由此可以看到,延迟高的关键在于CDN的传输和播放解码没有很好地配合和互动。所以我们主要要解决这个问题。 3.3 快直播方案

快直播方案改造的就是从CDN分发节点到SDK、再到观众端播放这部分,这样的好处在于主播推流中间的录制、截图、转码等都可以复用,接入简单,可以同时出flv、rtmp、hls、WebRTC的数据流。 3.4 快直播对标准WebRTC进行了升级

此外快直播对标准WebRTC进行了升级。标准WebRTC存在很多限制,音频只支持OPUS、视频不支持H265(H265因为专利的一些问题,因为VP9和H265有竞争关系,谷歌更希望推VP9)、视频不支持B帧、信令交互耗时长、无法透传metadata,这些问题对于在线教育和主播带货是没必要的,可以跳过。而有些客户希望用metadata带一些同步信息,显然标准WebRTC是不支持的。 我们从五个方面对标准WebRTC进行升级,包括支持aac(同时支持adts、latm两种封装)、视频支持H265和B帧、通过STP协商精简了信令交互、可以关闭gtrs以及支持透传metadata。上图就是腾讯云快直播的Demo,从图中可以看到支持H264、H265,Audio格式、加密开关。 3.5 快直播如何接入

快直播的接入其实非常简单,只需要一步就可以从标准直播升级为快直播——升级播放端、其余全部复用。Web/H5端调用浏览器WebRTC接入快直播,App接入需要集成SDK。 3.6 快直播优势

快直播有五大优势: 1.全球分布、覆盖广泛(支持1100+节点,支持25个国家) 2.超大带宽容量(我们的部门拥有了腾讯90%的流量,支持100T+带宽) 3.质量好、成本低(抗30%丢包) 4.接入简单(只要下行SDK做改造就可以了、功能完善、平滑兼容) 5.已大规模使用(内部已接入腾讯课堂、企鹅电竞,外部已接入教育类、电商类的客户) 04 PART 快直播——延迟、秒开、抗性、画质提升 4.1 快直播延迟

我们现在能做到的延迟一般是300ms左右,极限延迟可以做到43ms,这个极限方案主要是给云游戏提供的,硬件编码通过边缘编码处理的方式得以实现。 4.2 快直播首帧耗时秒开

标准WebRTC要经过sdp交互、ice、dtls握手、rtp/rtcp,这里第二步和第三步基本是可以跳过的,ice可以用简单的storm来代替,dtls握手对于不需要加解密的也可以跳过,所以我们做了一个可以通过SRTP协商来关闭dtls握手,所以第二、第三步可以根据需求选择性的开或者关,从而通过精简信令优化首帧耗时。 第二点就是边缘覆盖,我们不同的地方是信令和流媒体sever都部署在边缘节点,这就会保证用户与我们信令和流媒体交互的时候RTT多数会很小,从而就会保证整个信令耗时很短。 另外还有一个影响首帧的是流媒体的回源,如果命中率不高,流媒体需要回源,也是一个首帧耗时的点,所以我们做了个调度按房间来收敛,提高命中率,也就是说在同一个省份看同一个房间的话都让他走到同一个机房。通过以上三点优化首帧耗时基本达到100多ms。 4.3 快直播WebRTC抗性优化

WebRTC抗性怎么优化?这里抗性优化的本质是不断 “感知 + 调整 ”来适配变化的网络,这里的感知主要是RTT、丢包率、瓶颈带宽,通过感知到的网络的变化来调整发包策略、重传策略、FEC冗余策略等等。上图把网络分为两类,有丢包未拥塞的网络(基站的信号弱,WiFi的信号弱),这种情况通过根据丢包率计算重传次数,提高重传成功率,也可以通过FEC冗余发包,在弱丢包或者少丢包的情况下不需要重传。有丢包且拥塞的网络,它的表现主要是是丢包且RTT变大,这种情况又分为两种:一种是我们的码率超过了瓶颈带宽,第二个是码率没有超过瓶颈带宽。上图可以看出I帧与P帧的关系,在视频会中比较特殊的是I帧一般比P帧大8-10倍左右,所以很多时候发包策略不受控制的时候,每次发一帧的时候就是很大的毛刺。

这里我们采取的是场景的识别和动态的适配。 第一种是码率不是瓶颈,我们采用的是自适应的Pacing、根据I帧的播放时间以及buff将它平化掉,就会使得整个发包带宽在瓶颈带宽以下,从而兼顾帧率、帧大小、瓶颈带宽、播放器缓存,整个丢包就会少很多。 第二种是码率是瓶颈,也就是它的码率在瓶颈带宽以下,如果不降低发送的数据量就一定会导致拥塞。我们有两种策略:一种是时域分层,在编码的时候,将视频帧分三到四个级别,比如I帧、P帧、B帧,因为有一些B帧是没有依赖的,我们可以通过丢失一部分的帧直到码率小于瓶颈带宽,也就是通过降帧率达到降卡顿的效果。另一种方式是空域分层,比如说编码的时候,我们会编高分辨率和低分辨率,对于弱网(码率是瓶颈)的情况下,我们通过只发低分辨率的帧使码率小于瓶颈带宽。

以上是我们抗性优化的效果。从左上的图片中可以看到我们在做pacing前I帧的毛刺是很大,通过pacing发包可以减少80%突发毛刺,通过这张图可以看到在我们自己的应用上体现,WebRTC的质量是和flv相当的,而延迟从10秒降低到300ms,并且可以抗30%+丢包。 4.4 快直播画质优化

画质优化主要通过“云+端”来做协同优化,就是源流在编码的时候做修复增强,再通过一定的算法把视频进行压缩输出低码率的流,同时在云端进行云上的预分析,检测出视频的纹理区域以及边缘区域,然后把数据写到SEI中去读出纹理和边缘区域,如果是上采样就提高采样率进行超分,这样通过云端压到低码率、再由终端恢复到高码率的策略从而达到画质最强的效果。

上图是我们云端的优化效果,通过边缘区域的网格增强,平坦区域直接上采样、纹理区域网络增强。

540p的视频优化前效果

优化后的效果,它的边缘和细节清晰了很多

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 直播
    +关注

    关注

    1

    文章

    240

    浏览量

    20900
  • 物联网
    +关注

    关注

    2868

    文章

    41622

    浏览量

    358351
  • vr
    vr
    +关注

    关注

    34

    文章

    9556

    浏览量

    148805

原文标题:腾讯云快直播——超低延迟直播技术方案及应用

文章出处:【微信号:livevideostack,微信公众号:LiveVideoStack】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AMD & Vindral:全球首个8K 10bit HDR直播方案亮相

    据悉,这款基于AV1技术的8K 10bit HDR直播方案,能够实现极低延迟,使所有观众保持同步。同时,为了保证与低端设备的兼容性,该方案
    的头像 发表于 04-16 16:20 204次阅读

    双,250毫安输出,超低噪声,高PSRR,低延迟TPS71202数据表

    电子发烧友网站提供《双,250毫安输出,超低噪声,高PSRR,低延迟TPS71202数据表.pdf》资料免费下载
    发表于 03-04 16:25 0次下载
    双,250毫安输出,<b class='flag-5'>超低</b>噪声,高PSRR,低<b class='flag-5'>延迟</b>TPS71202数据表

    超低延迟大并发实时语音识别加速方案详解

    Achronix与Myrtle.ai共同推出了超低延迟大并发实时智能语音识别方案,其硬件平台采用基于Achronix Speedster7t FPGA的VectorPath加速卡和x86架构服务器
    发表于 11-24 12:42 220次阅读
    <b class='flag-5'>超低</b><b class='flag-5'>延迟</b>大并发实时语音识别加速<b class='flag-5'>方案</b>详解

    如何利用讯维网络解码矩阵提升直播质量?

    在数字化时代,直播已经成为各种行业的重要宣传和互动方式。然而,直播质量一直是用户关注的重点,也是直播技术面临的挑战。为了提升直播质量,许多
    的头像 发表于 09-04 10:10 253次阅读

    5G图传系统远程视频直播方案

    “目前直播技术广泛应用在各行各业。受限于带宽和硬件设备等要素,4K移动视频直播尚未广泛应用。随着5G技术的发展,移动全景视频直播可以成为现实
    的头像 发表于 08-04 11:25 807次阅读
    5G图传系统远程视频<b class='flag-5'>直播</b><b class='flag-5'>方案</b>

    直播预告】双极超低噪声电源应用与实测

    立即扫码预约直播 直播时间 2023年7月25日(周二) 1040 直播主题 双极超低噪声电源应用与实测 直播介绍 随着大数据时代的发展,各
    的头像 发表于 07-11 09:25 312次阅读
    【<b class='flag-5'>直播</b>预告】双极<b class='flag-5'>超低</b>噪声电源应用与实测

    直播预告】储能电池管理系统ADI解决方案

    立即扫码预约直播直播时间2023年7月18日(周二)1030直播主题储能电池管理系统ADI解决方案直播介绍在双碳背景下,越来越多的人关注储能
    的头像 发表于 07-07 10:00 543次阅读
    【<b class='flag-5'>直播</b>预告】储能电池管理系统ADI解决<b class='flag-5'>方案</b>

    直播预告】ADI Trinamic运动控制解决方案

    立即扫码预约直播直播时间2023年7月13日(周四)1030直播主题ADITrinamic运动控制解决方案直播介绍介绍ADITrinamic
    的头像 发表于 06-30 10:00 363次阅读
    【<b class='flag-5'>直播</b>预告】ADI Trinamic运动控制解决<b class='flag-5'>方案</b>

    直播预告】ADI Trinamic运动控制解决方案

    立即扫码预约直播 直播时间 2023年7月13日(周四) 1030 直播主题 ADI Trinamic运动控制解决方案 直播介绍 介绍ADI
    的头像 发表于 06-29 09:10 267次阅读
    【<b class='flag-5'>直播</b>预告】ADI Trinamic运动控制解决<b class='flag-5'>方案</b>

    【有奖直播】Molex莫仕AR/VR 产品方案及应用分享

    · 直播中不定时抽奖 作为元宇宙的关键入口,AR/VR赢来新机遇。新的 AR 和 VR 解决方案面临不少新挑战,设备外型必须小极巧轻便,佩戴舒适。内部连接器需要提供强大的通信能力,同时非常大限度地减少占用空间和重量,具备强劲的可靠性和坚固性。对此Molex积极探索AR/
    的头像 发表于 06-21 13:05 258次阅读
    【有奖<b class='flag-5'>直播</b>】Molex莫仕AR/VR 产品<b class='flag-5'>方案</b>及应用分享

    直播预告】今晚7点,来HarmonyOS极客松直播间与技术专家聊聊新技术

    HarmonyOS极客松直播间与技术专家聊聊新技术
    发表于 06-20 11:08

    基于电流误差和PLL估算的无感FOC算法MATLAB代码生成技术直播资料

    运行5HZ也能工作。 以上技术包括表贴电机和凸机电机都能做到。 为什么要直播:无感FOC是行业难点,包括重载,无速度闭环等算法是行业难点,也是让广大工程师头疼的事情。苦于没有好的解决方案,导致项目做
    发表于 06-14 11:36

    超低功耗MCU在物联网方案中的应用

    随着物联网技术的不断发展,超低功耗MCU已经成为了物联网方案中主要的芯片处理技术超低功耗MCU具有众多的优点,其中一大所用就是能够大大提高
    发表于 06-13 18:18

    如何开发直播平台:直播源码推拉流技术的实现(二)

    直播源码的拉流技术通俗来讲观看直播的人,通过拉流的相关协议和地址,拉取直播人的直播数据,在播放端,比如手机、平板、PC上就可以观看
    的头像 发表于 05-11 14:06 470次阅读
    如何开发<b class='flag-5'>直播</b>平台:<b class='flag-5'>直播</b>源码推拉流<b class='flag-5'>技术</b>的实现(二)

    直播源码平台搭建:直播源码技术推拉流的实现(一)

    直播源码推拉流技术成为了直播行业不可或缺的重要支撑部分。今天我就向大家介绍直播源码技术推流的实现。
    的头像 发表于 05-10 16:23 2309次阅读
    <b class='flag-5'>直播</b>源码平台搭建:<b class='flag-5'>直播</b>源码<b class='flag-5'>技术</b>推拉流的实现(一)