揭秘阿里云rtssdk如何实现直播降低延迟和卡顿

阿里云开发者 阿里云开发者     2022-12-21     358

关键词:

简介:这个夏天,没什么能够比一场酣畅淋漓的奥运比赛来的过瘾。但是,在视频平台直播观看比赛也有痛点:“卡顿” 和 “延时”。受限于不同地域、复杂的网络情况、传输速度等原因,当您还在为赛点焦灼的时候,隔壁已经传来欢呼声,观赛兴致瞬间全无。为了打造更加流畅稳定低延时的直播体验,越来越多企业关注低延时直播技术应用。

作者:予涛 途坦

阿里云低延时直播RTS(Real-time Streaming)是在视频直播的基础上,进行全链路延时监控、CDN传输协议改造、UDP等底层技术优化,通过集成直播播放端SDK,支持千万级并发场景下的节点间毫秒级延时直播能力,弥补了传统直播3~6秒延时的问题,保障低延时、低卡顿、秒开流畅的极致直播观看体验。

为了能够降低直播的端到端延时,2020 年阿里云正式推出全球实时传输网络 GRTN (Global Real Time Network) ,是部署在边缘云节点之上的超低延时、全分布式下沉的通信级流媒体传输网络,用于支持视频会议、视频直播、实时音视频等服务。要使用 GRTN 提供的短延迟 / 实时传输服务,客户端可以通过浏览器的 webrtc 能力接入,也可以自行开发客户端协议栈来接入。

RTS NetSDK是什么?

低延时直播SDK是由RTS NetSDK、推流 SDK和播放器SDK组成。其中,推流SDK将编码器输出的音视频帧发送给RTS NetSDK,播放器SDK从RTS NetSDK以帧的形式读取音频PCM数据和视频H264/H265数据。


Example: ffmpeg集成RTS NetSDK后拉ARTC流

RTS NetSDK是基于GRTN开发运行在客户端的协议栈。RTS NetSDK通过UDP传输层协议和GRTN上的SFU通讯,收发音视频数据。考虑网络条件未知性,RTS NetSDK集成了WebRTC的QoS算法来适应网络变化,从而提供优质的音视频传输服务。RTS NetSDK的轻量化设计使其非常容易被诸如ffmpeg,obs一类的开源框架所集成。


RTS客户端构成

RTS NetSDK承担推流拉流对接阿里云RTS服务桥梁,以包体积小、集成简单、对现有业务没有入侵为主要特点,帮助直播客户简单快速的升级传统直播到阿里云RTS直播。

RTS NetSDK 支持多平台,Android/iOS/MacOS/linux/Windows/RTOS, 支持多个开源项目集成的接入代码,ijkPlayer、obs、FFmpeg,而且阿里云推流SDK和播放器SDK已经内置了RTS直播推拉流能力。

RTMP是基于TCP传输的,RTS是基于UDP传输的。在网络稳定带宽足够条件下,RTS对比rtmp没有多少优势,但这种理想情况是比较难以保证的。传输协议上的差异,使得RTMP对于变化的网络没有太多的QoS手段,完全依赖TCP的拥塞控制。这种拥塞控制不以低延迟为目标。阿里云的RTS引入WebRTC的QoS技术,对于网络丢包有更好的容忍度。出色的带宽估计和拥塞控制,提供了细腻的网络使用策略。

另外,在Adobe Flash Player停止更新,RTMP在网页上已经无法再使用。客户要么选择延迟非常大的HLS技术,或选择WebRTC技术。RTS H5版本本质上是WebRTC,可以在网页上运行。

产品优势

低延迟

分发方案特点延迟
HLS支持广泛,类文件加速,分发技术比较成熟一般10s以上
RTMP多用于推流,国内遍地开花。用于客户端分发并不是主流一般5s以上
FLV多用于客户端分发,为目前国内主流方案一般5s以上
阿里云RTS直播使用udp传输技术500ms左右(基于实验室数据)

HLS 直播因为其TS文件切片--整片读取的机制,其延迟至少都在一个gop以上。

RTMP、FLV直播,为了保证客户端的播放顺畅,往往会让客户端保持5秒以上的缓存。

阿里云RTS直播,基于udp传输技术,全链路针对延迟优化,最新v1.8.0版本已经可以将延迟降低到500毫秒左右。

抗弱网

阿里云RTS直播是基于UDP传输的,通过应用WebRTC的先进技术(比如BWE、jitter buffer、NetEQ、FEC、NACK等QoS机制)以及自研的抗弱网技术,在复杂易变的用户网络环境中,比基于TCP传输的直播有着更好的流畅度和延迟。

包体积小

RTS NetSDK拥有轻巧的包体积,以最新版本Android 和iOS为例:

平台增量大小
iOS755 KB(arm64)
Android0.9MB(arm64)

易集成

直播客户大多都已经有了成型的直播推流和直播拉流能力。RTS NetSDK以库的形式被集成进客户现有的SDK,实现低成本升级,且兼容之前的业务逻辑。阿里云RTS直播已经支持到传统直播的基本所有特性。

能力类型RTS直播支持情况
视频编码h264、h265
音频编码aac、opus、g722
音频采样率44100、48k、16000 (g722)
视频SEI支持
私有NAL 拓展即便和rtp定义类型冲突,也做到了支持
rtmp推流artc拉流支持
artc推流rtmp/hls拉流支持
artc推流artc拉流支持
加密阿里云KMS加密体系

产品应用架构

RTS 直播将支持传统直播的基本全部能力,如直播录制、防盗链、导播台等。

RTS NetSDK 可以被集成进拉流侧的各种产品中去。另外提供了集成到 ffplay、ijkPlayer 的源码,客户可以直接使用或者参照着修改。阿里云播放器 SDK 已经内置了 RTS NetSDK 的拉流能力。

RTS NetSDK 也可以被集成进端侧的产品中去,RTS NetSDK 赋予推流产品 RTS 直播的能力,同时也提供了集成到 ffmpeg、obs 的源码。阿里云推流 SDK 已经内置了 RTS NetSDK 推流能力。

RTS NetSDK 是未来直播和通信一体化 SDK 的基石。在 RTS NetSDK 之上,加一个 Multimedia Framework,以及 QoS 消息处理,就可以构成一个一体化 SDK。这对于已经有自己的 Framework 的客户来说是个好消息,不需要为直播和通信分别开发软件了,同时也简化了直播连麦场景的实现。



「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。公众号后台回复【技术】可加入阿里云视频云产品技术交流群,和业内大咖一起探讨音视频技术,获取更多行业最新信息。

原文链接:https://developer.aliyun.com/article/786766?

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

揭秘阿里云rtssdk是如何实现直播降低延迟和卡顿

作者:予涛途坦这个夏天,没什么能够比一场酣畅淋漓的奥运比赛来的过瘾。但是,在视频平台直播观看比赛也有痛点:“卡顿”和“延时”。受限于不同地域、复杂的网络情况、传输速度等原因,当您还在... 查看详情

阿里云低延时直播rts能力升级,让直播推流效果更佳

...来动态调整视频编码码率等问题引起的推流延迟和卡顿。阿里云低延时直播RTS(Real-timeStreaming)产品在下行UDP改造的基础上,进行上行UDP底层WebRTC技术优化,通过发布移动端、PC端推流RTSSDK插件 查看详情

揭秘全球首次互联网8k直播背后的技术实现

3月28日,云栖大会·深圳峰会现场,阿里云发布并现场演示了阿里视频云最新8K互联网直播解决方案。这是全球发布的首个8K视频云解决方案,也是全球首次8K互联网视频直播。舞台的屏幕上显示了从1300公里以外的阿里巴巴杭州园... 查看详情

基于flink的视频直播案例(上)(代码片段)

...分Flink部分配置/准备代码视频核心指标监控本案例参考自阿里云的视频直播解决方案之视频核心指标监控和视频直播解决方案之直播数字化运营。基于Kafka+Flink+ELK+Redis实现视频直播数据的实时处理和可视化。选型仅仅出于练习考... 查看详情

一文读懂阿里云直播技术是如何实现的

...播平台观看奥运赛事,平台直播能力显的尤为重要。阿里云作为视频直播平台的技术提供商,凭借在产品技术、资源带宽、服务保障等方面优势,可为各大转播平台提供全链路技术支持和保障,确保极致观赛体验... 查看详情

一文读懂阿里云直播技术是如何实现的

...播平台观看奥运赛事,平台直播能力显的尤为重要。阿里云作为视频直播平台的技术提供商,凭借在产品技术、资源带宽、服务保障等方面优势,可为各大转播平台提供全链路技术支持和保障,确保极致观赛体验... 查看详情

一文读懂阿里云直播技术是如何实现的

...播平台观看奥运赛事,平台直播能力显的尤为重要。阿里云作为视频直播平台的技术提供商,凭借在产品技术、资源带宽、服务保障等方面优势,可为各大转播平台提供全链路技术支持和保障,确保极致观赛体验... 查看详情

阿里云mysql优化主从同步,降低数据延迟

1. 背景   为了提高系统的可用性和数据保护,MySQL通常采用master-slave的部署结构,简单高效,master和slave之间使用binlog来复制数据。binlog支持statement和row格式,为了保证数据的一致性,通常采用row格式的event。master-... 查看详情

揭秘字节跳动云原生sparkhistory服务uiservice

本文是字节跳动数据平台数据引擎SparkSQL团队针对SparkHistoryServer(SHS)的优化实践分享。*文|字节跳动数据平台—数据引擎—SparkSQL团队*在字节跳动内部,我们实现了一套全新的云原生SparkHistory服务——UIService,相比开源的SHS,UIServ... 查看详情

easycvr平台如何实现超低延时的安防视频监控直播?

随着互联网技术的快速发展,视频直播技术也得到了进步。用户在视频直播过程中的强互动需求,也推动着低延迟直播技术的发展和应用。传统直播技术的延迟非常大,通过流媒体音视频技术降低直播延迟、提高实时... 查看详情

如何把直播保存到阿里云?

参考技术A需要你把直播文件保存下来,再同步上传到阿里云。这是没有办法直接保存到阿里云,必须要通过先下载才可以。 参考技术B录制至OSS直播录制下来的视频均为原画画质,将视频存储在OSS中,可进行预览、简单的管理和... 查看详情

淘系技术讲解webrtc做视频直播

...更多有关淘宝直播的技术方案)本篇回答内容来自于阿里巴巴淘系技术部技术专家常高伟,主要面向直播行业从业者,以及对低延迟直播技术、WebRTC技术感兴趣的技术人员,介绍淘宝直播在低延迟直播技术上的探... 查看详情

怎么使用阿里云直播服务应用到现在主流直播平台中

一、业务场景 现在直播APP和直播业务非常火爆,越来越多的人玩直播.早期直播:直播界定为“广播电视节目的后期(haobc)合成、播出同时进行的播出方式”。主要是电视综艺节目直播、演唱会直播、体育赛事直播等。... 查看详情

怎么使用阿里云直播服务应用到现在主流直播平台中

一、业务场景 现在直播APP和直播业务非常火爆,越来越多的人玩直播.早期直播:直播界定为“广播电视节目的后期(haobc)合成、播出同时进行的播出方式”。主要是电视综艺节目直播、演唱会直播、体育赛事直播等。现在互... 查看详情

cds技术揭秘系列总篇阿里云的云定义存储来了

简介: 全新发布的云定义存储CDS和传统的存储阵列、分布式存储、软件定义存储的区别在哪里?阿里云存储团队如何看待将来存储的发展趋势?本文邀请了CDS研发团队的核心技术负责人为大家揭开围绕着阿里云CDS的... 查看详情

直播app全量混淆和瘦身技术揭秘

   【直播】APP全量混淆和瘦身技术揭秘近些年来移动APP数量呈现爆炸式的增长,黑产也从原来的PC端转移到了移动端,通过逆向手段造成数据泄漏、源码被盗、APP被山寨、破解后注入病毒或广告现象让用户苦不堪言。&... 查看详情

基于rts超低延时直播优化强互动场景体验(代码片段)

RTS在阿里云视频直播的基础上进行底层技术优化,通过集成阿里云播放器SDK,支持在千万级并发场景下节点间毫秒级延时直播的能力,弥补了传统直播存在3~6秒延时的问题,确保了超低延时、低卡顿、秒开流畅的... 查看详情

在生产环境中,阿里云如何构建高性能云原生容器网络?(含ppt下载)

作者|溪恒?阿里云技术专家直播完整视频回顾:https://www.bilibili.com/video/BV1nC4y1x7mt/关注“阿里巴巴云原生”公众号,后台回复?“416”?即可下载PPT。4月16日,我们发起了第2期SIGCloud-Provider-Alibaba网研会直播。本次直播主要介绍了阿... 查看详情