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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

發(fā)布時間:2024/8/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 揭秘阿里云 RTS SDK 是如何实现直播降低延迟和卡顿 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡介:?RTS NetSDK是未來直播和通信一體化SDK的基石。在RTS NetSDK之上,加一個Multimedia Framework,以及QoS消息處理,就可以構成一個一體化SDK。這對于已經(jīng)有自己的Framework的客戶來說是個好消息,不需要為直播和通信分別開發(fā)軟件了,同時也簡化了直播連麥場景的實現(xiàn)。

這個夏天,沒什么能夠比一場酣暢淋漓的奧運比賽來的過癮。但是,在視頻平臺直播觀看比賽也有痛點:“卡頓”和“延時”。受限于不同地域、復雜的網(wǎng)絡情況、傳輸速度等原因,當您還在為賽點焦灼的時候,隔壁已經(jīng)傳來歡呼聲,觀賽興致瞬間全無。為了打造更加流暢穩(wěn)定低延時的直播體驗,越來越多企業(yè)關注低延時直播技術應用。

阿里云低延時直播RTS(Real-time Streaming)是在視頻直播的基礎上,進行全鏈路延時監(jiān)控、CDN傳輸協(xié)議改造、UDP等底層技術優(yōu)化,通過集成直播播放端SDK,支持千萬級并發(fā)場景下的節(jié)點間毫秒級延時直播能力,彌補了傳統(tǒng)直播3~6秒延時的問題,保障低延時、低卡頓、秒開流暢的極致直播觀看體驗。

為了能夠降低直播的端到端延時,2020年阿里云正式推出全球?qū)崟r傳輸網(wǎng)絡GRTN (Global Real Time Network) ,是部署在邊緣云節(jié)點之上的超低延時、全分布式下沉的通信級流媒體傳輸網(wǎng)絡,用于支持視頻會議、視頻直播、實時音視頻等服務。要使用GRTN提供的短延遲/實時傳輸服務,客戶端可以通過瀏覽器的webrtc能力接入,也可以自行開發(fā)客戶端協(xié)議棧來接入。

RTS NetSDK是什么?

低延時直播SDK是由RTS NetSDK、推流 SDK和播放器SDK組成。其中,推流SDK將編碼器輸出的音視頻幀發(fā)送給RTS NetSDK,播放器SDK從RTS NetSDK以幀的形式讀取音頻PCM數(shù)據(jù)和視頻H264/H265數(shù)據(jù)。?

Example: ffmpeg集成RTS NetSDK后拉ARTC流

RTS NetSDK是基于GRTN開發(fā)運行在客戶端的協(xié)議棧。RTS NetSDK通過UDP傳輸層協(xié)議和GRTN上的SFU通訊,收發(fā)音視頻數(shù)據(jù)。考慮網(wǎng)絡條件未知性,RTS NetSDK集成了WebRTC的QoS算法來適應網(wǎng)絡變化,從而提供優(yōu)質(zhì)的音視頻傳輸服務。RTS NetSDK的輕量化設計使其非常容易被諸如ffmpeg,obs一類的開源框架所集成。

?RTS客戶端構成

RTS NetSDK承擔推流拉流對接阿里云RTS服務橋梁,以包體積小、集成簡單、對現(xiàn)有業(yè)務沒有入侵為主要特點,幫助直播客戶簡單快速的升級傳統(tǒng)直播到阿里云RTS直播。

RTS NetSDK 支持多平臺,Android/iOS/MacOS/linux/Windows/RTOS, 支持多個開源項目集成的接入代碼,ijkPlayer、obs、FFmpeg,而且阿里云推流SDK和播放器SDK已經(jīng)內(nèi)置了RTS直播推拉流能力。

RTMP是基于TCP傳輸?shù)?#xff0c;RTS是基于UDP傳輸?shù)?。在網(wǎng)絡穩(wěn)定帶寬足夠條件下,RTS對比rtmp沒有多少優(yōu)勢,但這種理想情況是比較難以保證的。傳輸協(xié)議上的差異,使得RTMP對于變化的網(wǎng)絡沒有太多的QoS手段,完全依賴TCP的擁塞控制。這種擁塞控制不以低延遲為目標。阿里云的RTS引入WebRTC的QoS技術,對于網(wǎng)絡丟包有更好的容忍度。出色的帶寬估計和擁塞控制,提供了細膩的網(wǎng)絡使用策略。

另外,在Adobe Flash Player停止更新,RTMP在網(wǎng)頁上已經(jīng)無法再使用??蛻粢催x擇延遲非常大的HLS技術,或選擇WebRTC技術。RTS H5版本本質(zhì)上是WebRTC,可以在網(wǎng)頁上運行。

產(chǎn)品優(yōu)勢

低延遲

分發(fā)方案

特點

延遲

HLS

支持廣泛,類文件加速,分發(fā)技術比較成熟

一般10s以上

RTMP

多用于推流,國內(nèi)遍地開花。用于客戶端分發(fā)并不是主流

一般5s以上

FLV

多用于客戶端分發(fā),為目前國內(nèi)主流方案

一般5s以上

阿里云RTS直播

使用udp傳輸技術

500ms左右(基于實驗室數(shù)據(jù))

HLS 直播因為其TS文件切片--整片讀取的機制,其延遲至少都在一個gop以上。
RTMP、FLV直播,為了保證客戶端的播放順暢,往往會讓客戶端保持5秒以上的緩存。

阿里云RTS直播,基于udp傳輸技術,全鏈路針對延遲優(yōu)化,最新v1.8.0版本已經(jīng)可以將延遲降低到500毫秒左右。

抗弱網(wǎng)

阿里云RTS直播是基于UDP傳輸?shù)?#xff0c;通過應用WebRTC的先進技術(比如BWE、jitter buffer、NetEQ、FEC、NACK等QoS機制)以及自研的抗弱網(wǎng)技術,在復雜易變的用戶網(wǎng)絡環(huán)境中,比基于TCP傳輸?shù)闹辈ビ兄玫牧鲿扯群脱舆t。

包體積小

RTS NetSDK擁有輕巧的包體積,以最新版本Android 和iOS為例:

平臺

增量大小

iOS

755 KB(arm64)

Android

0.9MB(arm64)

易集成

直播客戶大多都已經(jīng)有了成型的直播推流和直播拉流能力。RTS NetSDK以庫的形式被集成進客戶現(xiàn)有的SDK,實現(xiàn)低成本升級,且兼容之前的業(yè)務邏輯。阿里云RTS直播已經(jīng)支持到傳統(tǒng)直播的基本所有特性。

能力類型

RTS直播支持情況

視頻編碼

h264、h265

音頻編碼

aac、opus、g722

音頻采樣率

44100、48k、16000 (g722)

視頻SEI

支持

私有NAL 拓展

即便和rtp定義類型沖突,也做到了支持

rtmp推流artc拉流

支持

artc推流rtmp/hls拉流

支持

artc推流artc拉流

支持

加密

阿里云KMS加密體系

產(chǎn)品應用架構

?RTS直播將支持傳統(tǒng)直播的基本全部能力,如直播錄制、防盜鏈、導播臺等。

RTS NetSDK可以被集成進拉流側(cè)的各種產(chǎn)品中去。另外提供了集成到ffplay、ijkPlayer的源碼,客戶可以直接使用或者參照著修改。阿里云播放器SDK已經(jīng)內(nèi)置了RTS NetSDK的拉流能力。

RTS NetSDK也可以被集成進端側(cè)的產(chǎn)品中去,RTS NetSDK賦予推流產(chǎn)品RTS直播的能力,同時也提供了集成到ffmpeg、obs的源碼。阿里云推流SDK已經(jīng)內(nèi)置了RTS NetSDK推流能力。

RTS NetSDK是未來直播和通信一體化SDK的基石。在RTS NetSDK之上,加一個Multimedia Framework,以及QoS消息處理,就可以構成一個一體化SDK。這對于已經(jīng)有自己的Framework的客戶來說是個好消息,不需要為直播和通信分別開發(fā)軟件了,同時也簡化了直播連麥場景的實現(xiàn)。

原文鏈接

本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。