日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/9/3 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 揭秘阿里云 RTS SDK 如何实现直播降低延迟和卡顿 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡介:這個夏天,沒什么能夠比一場酣暢淋漓的奧運比賽來的過癮。但是,在視頻平臺直播觀看比賽也有痛點:“卡頓” 和 “延時”。受限于不同地域、復雜的網絡情況、傳輸速度等原因,當您還在為賽點焦灼的時候,隔壁已經傳來歡呼聲,觀賽興致瞬間全無。為了打造更加流暢穩定低延時的直播體驗,越來越多企業關注低延時直播技術應用。

作者:予濤 途坦

阿里云低延時直播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在網頁上已經無法再使用??蛻粢催x擇延遲非常大的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?

版權聲明:本文內容由阿里云實名注冊用戶自發貢獻,版權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。

總結

以上是生活随笔為你收集整理的揭秘阿里云 RTS SDK 如何实现直播降低延迟和卡顿的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。