這個(gè)夏天,沒(méi)什么能夠比一場(chǎng)酣暢淋漓的奧運比賽來(lái)的過(guò)癮。但是,在視頻平臺直播觀(guān)看比賽也有痛點(diǎn):“卡頓”和“延時(shí)”。受限于不同地域、復雜的網(wǎng)絡(luò )情況、傳輸速度等原因,當您還在為賽點(diǎn)焦灼的時(shí)候,隔壁已經(jīng)傳來(lái)歡呼聲,觀(guān)賽興致瞬間全無(wú)。為了打造更加流暢穩定低延時(shí)的直播體驗,越來(lái)越多企業(yè)關(guān)注低延時(shí)直播技術(shù)應用。
阿里云低延時(shí)直播RTS(Real-time Streaming)是在視頻直播的基礎上,進(jìn)行全鏈路延時(shí)監控、cdn/' target='_blank'>CDN傳輸協(xié)議改造、UDP等底層技術(shù)優(yōu)化,通過(guò)集成直播播放端SDK,支持千萬(wàn)級并發(fā)場(chǎng)景下的節點(diǎn)間毫秒級延時(shí)直播能力,彌補了傳統直播3~6秒延時(shí)的問(wèn)題,保障低延時(shí)、低卡頓、秒開(kāi)流暢的極致直播觀(guān)看體驗。
為了能夠降低直播的端到端延時(shí),2020年阿里云正式推出全球實(shí)時(shí)傳輸網(wǎng)絡(luò )GRTN (Global Real Time Network) ,是部署在邊緣云節點(diǎn)之上的超低延時(shí)、全分布式下沉的通信級流媒體傳輸網(wǎng)絡(luò ),用于支持視頻會(huì )議、視頻直播、實(shí)時(shí)音視頻等服務(wù)。要使用GRTN提供的短延遲/實(shí)時(shí)傳輸服務(wù),客戶(hù)端可以通過(guò)瀏覽器的webrtc能力接入,也可以自行開(kāi)發(fā)客戶(hù)端協(xié)議棧來(lái)接入。
低延時(shí)直播SDK是由RTS NetSDK、推流 SDK和播放器SDK組成。其中,推流SDK將編碼器輸出的音視頻幀發(fā)送給RTS NetSDK,播放器SDK從RTS NetSDK以幀的形式讀取音頻PCM數據和視頻H264/H265數據。
Example: ffmpeg集成RTS NetSDK后拉ARTC流
RTS NetSDK是基于GRTN開(kāi)發(fā)運行在客戶(hù)端的協(xié)議棧。RTS NetSDK通過(guò)UDP傳輸層協(xié)議和GRTN上的SFU通訊,收發(fā)音視頻數據??紤]網(wǎng)絡(luò )條件未知性,RTS NetSDK集成了WebRTC的QoS算法來(lái)適應網(wǎng)絡(luò )變化,從而提供優(yōu)質(zhì)的音視頻傳輸服務(wù)。RTS NetSDK的輕量化設計使其非常容易被諸如ffmpeg,obs一類(lèi)的開(kāi)源框架所集成。
RTS 客戶(hù)端構成
RTS NetSDK承擔推流拉流對接阿里云RTS服務(wù)橋梁,以包體積小、集成簡(jiǎn)單、對現有業(yè)務(wù)沒(méi)有入侵為主要特點(diǎn),幫助直播客戶(hù)簡(jiǎn)單快速的升級傳統直播到阿里云RTS直播。
RTS NetSDK 支持多平臺,Android/iOS/MacOS/linux/Windows/RTOS, 支持多個(gè)開(kāi)源項目集成的接入代碼,ijkPlayer、obs、FFmpeg,而且阿里云推流SDK和播放器SDK已經(jīng)內置了RTS直播推拉流能力。
RTMP是基于TCP傳輸的,RTS是基于UDP傳輸的。在網(wǎng)絡(luò )穩定帶寬足夠條件下,RTS對比rtmp沒(méi)有多少優(yōu)勢,但這種理想情況是比較難以保證的。傳輸協(xié)議上的差異,使得RTMP對于變化的網(wǎng)絡(luò )沒(méi)有太多的QoS手段,完全依賴(lài)TCP的擁塞控制。這種擁塞控制不以低延遲為目標。阿里云的RTS引入WebRTC的QoS技術(shù),對于網(wǎng)絡(luò )丟包有更好的容忍度。出色的帶寬估計和擁塞控制,提供了細膩的網(wǎng)絡(luò )使用策略。
另外,在A(yíng)dobe Flash Player停止更新,RTMP在網(wǎng)頁(yè)上已經(jīng)無(wú)法再使用??蛻?hù)要么選擇延遲非常大的HLS技術(shù),或選擇WebRTC技術(shù)。RTS H5版本本質(zhì)上是WebRTC,可以在網(wǎng)頁(yè)上運行。
HLS 直播因為其TS文件切片--整片讀取的機制,其延遲至少都在一個(gè)gop以上。
RTMP、FLV直播,為了保證客戶(hù)端的播放順暢,往往會(huì )讓客戶(hù)端保持5秒以上的緩存。
阿里云RTS直播,基于udp傳輸技術(shù),全鏈路針對延遲優(yōu)化,最新v1.8.0版本已經(jīng)可以將延遲降低到500毫秒左右。
阿里云RTS直播是基于UDP傳輸的,通過(guò)應用WebRTC的先進(jìn)技術(shù)(比如BWE、jitter buffer、NetEQ、FEC、NACK等QoS機制)以及自研的抗弱網(wǎng)技術(shù),在復雜易變的用戶(hù)網(wǎng)絡(luò )環(huán)境中,比基于TCP傳輸的直播有著(zhù)更好的流暢度和延遲。
RTS NetSDK擁有輕巧的包體積,以最新版本Android 和iOS為例:
直播客戶(hù)大多都已經(jīng)有了成型的直播推流和直播拉流能力。RTS NetSDK以庫的形式被集成進(jìn)客戶(hù)現有的SDK,實(shí)現低成本升級,且兼容之前的業(yè)務(wù)邏輯。阿里云RTS直播已經(jīng)支持到傳統直播的基本所有特性。
RTS直播將支持傳統直播的基本全部能力,如直播錄制、防盜鏈、導播臺等。
RTS NetSDK可以被集成進(jìn)拉流側的各種產(chǎn)品中去。另外提供了集成到ffplay、ijkPlayer的源碼,客戶(hù)可以直接使用或者參照著(zhù)修改。阿里云播放器SDK已經(jīng)內置了RTS NetSDK的拉流能力。
RTS NetSDK也可以被集成進(jìn)端側的產(chǎn)品中去,RTS NetSDK賦予推流產(chǎn)品RTS直播的能力,同時(shí)也提供了集成到ffmpeg、obs的源碼。阿里云推流SDK已經(jīng)內置了RTS NetSDK推流能力。
RTS NetSDK是未來(lái)直播和通信一體化SDK的基石。在RTS NetSDK之上,加一個(gè)Multimedia Framework,以及QoS消息處理,就可以構成一個(gè)一體化SDK。這對于已經(jīng)有自己的Framework的客戶(hù)來(lái)說(shuō)是個(gè)好消息,不需要為直播和通信分別開(kāi)發(fā)軟件了,同時(shí)也簡(jiǎn)化了直播連麥場(chǎng)景的實(shí)現。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站