DTSE Tech Talk | 第11期:深入浅出畅谈华为云低时延直播技术

华为云社区精选 发表于 2022/11/17 09:25:24 2022/11/17
【摘要】 详解华为云低时延直播在时延、首屏、卡顿率等体验的优化方案,及如何快速接入方法。

本期直播主题是《深入浅出畅谈华为云低时延直播技术》,华为云媒体DTSE技术布道师杨金文,与开发者们交流华为低时延直播核心优势和关键技术,从直播关注时延、首屏、卡顿率三个指标详解华为云低时延直播体验优化方面技术方案向大家介绍了华为云低时延直播的快速接入方法

延时降低到800ms以内提升用户体验

随着虚拟直播、自制综艺等在线直播新浪潮的涌现,直播平台的内容生态日渐丰富,满足观众多元化需求就在2021年也就是低时延直播发展元年,国内各大知名电商平台逐步使用低时延直播进行精品商品秒杀、派发红包等活动方式,提升了在线观众观看时长和平台交易额,进一步挖掘了直播的商业价值,低时延为直播提供了更多应用场景的可能性

华为云低时延直播产品基于华为近30年音视频技术积累,在传统直播的基础上,通过对传输协议的优化、传输链路的动态智能优选、超低时延的转码等技术手段,将传统直播3-5s的时延降低到800ms以内,满足电商直播、教育直播、赛事直播等时延敏感业务的诉求,为观众提供低时延、流畅的极致直播观看体验。

相比传统直播,华为云低时延直播的关键技术总结为以下三点:

静态的树状分发架构演进为动态智能网状架构

标准转码升级为超低时延转码

最后一公里UDP传输协议改造升级

目前,业界直播普遍采用边缘、中心、源站三层架构:

边缘一般采用运营商单线机房部署,目的是为了成本,更广的覆盖,满足主播与观众的高并发、就近接入诉求;中心采用多线机房部署,起到流汇聚收敛的作用;源站构建在大云之上,提供高可用的源站增值服务,比如转码、录制、截图、审核等功能

动态智能网状架构通过用户地域信息,在满足流媒体用户体验情况下,权衡全局资源的调配,为用户选择最优接入节点以及最佳回源路径,提高整个流媒体平台的平稳与可靠。

三个用户场景的访问路径为例:

观众1:与主播位于同省份,同运营商,智能调度服务将观众1的访问调度到主播推流节点,内部链路短带来了高质量,低成本的极致体验

观众2:与主播位于同运营商邻近身份,智能调度服务将观众2调度至最优的边缘节点C拉流,而边缘节点C回源到推流节点B获取直播流。

观众3:与主播跨运营商,智能调度给出传统逐级回源的方式,保障访问质量。

为保障转码流E2E保持低时延,转码时延也需要向低时延方向演进基于华为云在编解码方向的长期技术积累,目前能够控制转码额外引入的时延在150ms以内,并且低时延转码同样支持高清低码技术,能够在同等画质下,降低30%直播码率,进而降低带宽成本;同时支持画质增强,ROI增强技术,对画面边缘及纹理区域做精准处理,有效提升用户主观观看体验

核心竞争力,全方位打造时延直播体验

从核心竞争力角度来分析,华为云低时延直播具有以下几大优势:

超低时延
端到端时延< 800ms

首帧时延< 400ms

低时延转码< 150ms

超高并发
2000+国内加速节点,500+海外加速节点,华为云大部分节点均是各省份骨干线路上的优质节点,节点带宽储备能力≥100Tbps,重点项目将对项目诉求可进行重点覆盖。

极致体验
支持2K、4K超高清直播

兼容直播
兼容传统直播系统架构,支持RTMP协议推流,无缝支持直播转码、录制、截图、审核、回调等功能,同时支持标准WebRTC协议,对于私有协议接入也仅需要升级播放器SDK,接入更加简单

成熟稳定
支持跨AZ多Region容灾,7*24小时服务支持,可用度99.99%。基于为多年音视频技术的积累在内部研讨会直播中已稳定商用

时延优化

选择低时延的上行编码参数

适当减小视频GOP大小

下行UDP传输协议改造减少分发时延

动态追帧时延方案

实时优先
启播时,服务端从当前GOP Cahce中I帧开始发送,此时与直播点有一点时延,当服务端收到下一个I帧时候,为了保证低时延,直接跳到下一个I帧开始发送。

流畅优先
启播时,根据客户端快启缓存大小,服务端快速发送Cache数据,然后根据网络质量进行快启发送保护,最后按照倍速发送追上直播点,配合客户端倍速播放能力,做到流畅播放和低时延的平衡。

拥塞丢帧
当网络出现拥塞时,根据解码优先级(I>P>B,优先丢弃B帧,如果此时带宽依然有限再适当丢弃P帧,当下一个I帧到来时,择机跳到新的GOP发送。

首屏优化

首帧优化有以下关键措施

私有UDP信令

压缩标准sdp信令在一个MTU大小内,通过一定的冗余发送策略,确保信令请求成功率不变的同时,大幅减少信令协商的耗时。并且使用UDP信令承载STUN报文,实现0RTT启播。

支持异步回源

对于命中缓存的场景,可以减少一个网络RTT的信令等待

关闭媒体加密

对无加密诉求的直播内容,关闭加密传输,减少DTLS协商耗时

首帧快速重传

对于音视频的解码关键数据(比如VPS/SPS/PPS),提前冗余发送,减少重传的耗时影响。在信令中携带首包序号,以便客户端快速发送丢包重传请求

首帧快速出帧

启播时客户端将前几帧在JitterBuffer中等待时间调整为0,配合服务端启播时快速下发数据策略,做到快速出帧,达到秒开效果

起播码率优化

端云协同,客户端本地探测的带宽数据和网络情况携带在请求URL参数中发送至服务端,服务端根据该数据进行动态调整起播发送策略

端口不通,快速降级

在UDP端口不通的情况下,支持WebRTC降级到使用TCP进行媒体传输;或者降级到普通直播(FLV,确保观看成功率

基于以上关键优化方案,结合华为云海量的节点覆盖以及智能调度策略,将平均首屏时延降到400ms以内。

卡顿率优化

基于以下优化方案,确保在毫秒级时延指标下,卡顿率指标优于传统直播

丢包重传

针对低时延直播场景(比如乱序,大丢包),基于网络rttjitter优化重传时机,防止重传风暴,提高重传效率

带宽估计

基于延时和丢包优化带宽估计算法,判断网络模型及可用带宽,控制发包速率与纠错方案。网络质量优时,可以快速上探带宽;网络拥塞时,精确收敛发送带宽。

动态JitterBuffer

实时统计网络丢包率、rttjitter等指标,动态计算所需要的 jitterbuffer大小并进行实时调整

FEC冗余

高性能FEC算法,对分组分包进行优化,并且根据网络带宽、丢包率进行自适应冗余调整。同时支持WebRTC标准的RED冗余,以及Ulpfec/Flexfec方式

平滑发送

根据网络带宽估计模块计算的发送码率将音视频数据均匀发送到网络传输通道中,避免网络拥塞

华为云低时延直播集成方式

详细的对接步骤:

登录华为云官网注册华为云账号,并完成实名认证。申请和备案低时延直播的推流和播放域名。

提示:可以注册备案一个一级域名(如example.com),然后使用两个不同的二级域名(如live-play.example.com和live-push.example.com作为低时延直播的推流域名和播放域名

添加低时延直播推流域名和播放域名到视频直播服务

低时延直播的推流域名和播放域名添加成功后,视频直播会分配对应的CNAME地址。这里需要在域名DNS服务商处为低时延直播的推流域名和播放域名配置CNAME解析,开启直播推流加速和播放加速

在低时延直播的播放域名中关联对应的低时延直播推流域名,否则将会导致低时延直播播放失败

获取华为云低时延直播对接文档和Demo样例,学习文档并集成低时延直播SDK

安装推流工具(推荐使用OBS),进行低时延直播的推流

使用华为云低时延在线Demo或集成低时延直播SDK的端进行播放验证

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。