CDN百科第四講 | 如何優雅地在雲上「擺地攤」——作直播帶貨,你不得不關注的技術

最近,國家政策開始鼓勵「地攤經濟」,一時間各家企業平臺紛紛推出地攤扶持政策,地攤概念股順勢大漲,地攤生態及配套商品也開始走俏,甚至在網絡上也涌現出各類「新攤主速成攻略」,萬億的煙火經濟儼然已經走上風口。緩存

實際上,早就有人已經在網上「擺地攤」了,那就是直播帶貨!受到疫情的影響,線下實體紛紛停擺,直播帶貨受到了史無前例的追捧,企業們紛紛選擇經過直播的形式,來提高品牌形象、保持與用戶的互動並完成商品的銷售。服務器

那麼問題就來了,在搭建直播平臺或者應用的過程當中,都須要關注哪些技術呢?CDN又對直播起到什麼做用呢?網絡

一個直播系統都包括什麼?

一般整個直播的系統可能包括:推流端通過一次邊緣節點的加速,將視頻直播流推到直播中心,在直播中心完成一系列轉碼、截圖、錄製、水印等處理,而後視頻流再通過CDN分發,分發到不一樣的播放端,播放端有不一樣的SDK進行秒開、弱網等優化動做。架構

直播系統中的推流與播放

對於視頻直播來說,最重要的兩個環節,一個是推流,一個是播放。推流通常採用RTMP協議,經常使用的推流端包括OBS、手機APP、FFmpeg等。播放除了採用RTMP協議,還能夠採用HTTP FLV和HLS協議,RTMP和HTTP FLV是流式傳輸,HLS是文件加速傳輸,常見的播放端包括:Flash / VLC / HTML5 / 手機App等等。對於阿里雲直播系統來說,大部分直播分發都是經過流式傳輸完成的,只有一少部份量是使用文件加速分發完成的。負載均衡

CDN百科第四講 | 如何優雅地在雲上「擺地攤」——作直播帶貨,你不得不關注的技術

流式分發與CDN直播系統

其實在直播場景中,不論是推流仍是播放,流式分發都是長鏈接的,一場直播可能5個小時,推流在這5小時內不會中斷。對於播放器來說,服務器端獲取到的是一幀一幀的音視頻數據,不論是什麼傳輸協議,都是採用FLV tag來封裝。每一幀音頻或者視頻,都會有一個時間戳的屬性。分佈式

視頻直播流會傳輸音頻幀和視頻幀,對於音頻幀來說,它每一幀均可以獨立解碼,播放器從服務器獲取到任何一幀音頻幀以後,均可以獨立渲染,聽到聲音。而視頻分爲視頻關鍵幀和非關鍵幀,關鍵幀能夠獨立解碼渲染,播放器拿到後能夠直接看到畫面,通常10K以上甚至幾十K;其餘非關鍵幀解碼依賴於前面的一些視頻幀,播放器會根據前面的幀和這一幀來解碼產生畫面,非關鍵幀通常大小是幾K甚至不到1K。對於播放器來講,服務器通常會從視頻關鍵幀開始發送,這樣纔不會產生花屏。ide

對於節點上直播服務器存儲的內容,若是是文件加速,節點上存儲的內容很明確,就是文件數據, URL不變的話文件數據內容也不變。可是對於直播來說,傳輸的就是幀數據,緩存的也是不斷變化的幀序列數據。
下面的圖裏能夠看到,當前的服務器緩存了V1-V3五幀數據,當V4這個關鍵幀出現了,服務器把以前的丟掉,開始緩存V4開始的音視頻數據,以這個策略保證過來的播放端都是當前最新的數據。通常直播服務器都是用這個策略來進行服務器緩存的。優化

CDN百科第四講 | 如何優雅地在雲上「擺地攤」——作直播帶貨,你不得不關注的技術

直播平臺面臨的挑戰?

一、 前面也說了,直播系統包含推流、轉碼、分發、播放等各個環境,經歷了冗長複雜的網絡環境,尤爲是當業務場景逐漸豐富起來以後,功能需求也愈來愈多
二、 一些關鍵指標的提高,好比:卡頓率、打開速度、流暢度、回源率等,任何指標的降低均可能會致使整個應用的用戶體驗降低,影響直播效果
三、 直播平臺常常會面臨業務突發,數十萬甚至數百萬用戶的同時在線,對服務器和帶寬考驗十分巨大阿里雲

直播平臺爲何要使用CDN?

一、減小卡頓率,提高用戶體驗

直播,尤爲是電商直播,對網絡抖動十分敏感,稍有問題就會出現卡頓、花屏等問題,嚴重影響用戶體驗,甚至直接掉線影響銷售。CDN藉助負載均衡系統可以將內容推送到接近用戶的邊緣節點,使得用戶就近取得資源,能夠大大提高訪問效率。3d

二、業務峯值來臨的時候,爲流量高峯護航

在確保直播流暢度上,全球覆蓋的CDN節點和精準調度系統缺一不可。CDN節點是採用分佈式架構,節點資源與帶寬儲備就表明了可以覆蓋的用戶的量級和廣度。當突發峯值特別高的時候,CDN系統會確保用更精準的調度策略,好比DNS、IP調度,來下降對直播的影響。打比方有一個裝了不少冰塊和水的杯子,若是咱們要把杯子裏面的狹小空間所有用上,咱們先要把冰塊放進去,再倒液態水。在智能調度的場景裏,把「固體」和「液體」結合起來考慮,才能作到全部的節點、水位的精準控制,實現更精準的調度。

因此,選擇節點和帶寬資源覆蓋普遍,綜合實力強,質量有保證,具有大型項目最佳實踐的CDN服務提供商對直播帶貨平臺來講相當重要。想要在雲上開啓「地攤經濟」,阿里雲CDN,瞭解一下:全速重構年中大促中,CDN/全站加速、視頻直播、視頻點播等多款產品都推出限時折扣,點擊阿里雲官網活動頁面瞭解優惠詳情

點擊回顧CDN百科第一講,最近你的APP崩了嗎?
https://developer.aliyun.com/article/757268
點擊回顧CDN百科第二講,假如沒用CDN,網絡世界會變成什麼樣?
http://www.javashuo.com/article/p-kkjlmdla-ev.html
CDN百科第三講,若是用了雲服務器,還須要作CDN加速嗎?
http://www.javashuo.com/article/p-zxzmbzvy-nr.html

【CDN百科】專欄中,咱們會不斷科普CDN知識,解讀CDN實踐,分享CDN案例,若是你也關注CDN、使用CDN,請留言回覆你關心的話題能夠留言哦~

相關文章
相關標籤/搜索