直播軟體搭建技術原理 CDN 與直播

2021-10-09 07:32:32 字數 1946 閱讀 2042

直播軟體搭建技術原理:cdn 與直播

很多直播都是基於 cdn 來實現的。而通過聲網的服務,或基於聲網sdk與 cdn 結合,還可以實現在直播中的連麥互動、白板同步等強調實時性的場景。本文源自社群投稿,介紹了該場景下的一些基礎知識。如大家存有疑問,可以與作者交流。

所以為了確認範圍,可以先了解排查下b區。

直播軟體搭建

雲錄**務就是通過和cdn 結合,錄製下的內容存放在雲端,雲儲存。

儲存只是存放在一台或多台伺服器上但是地點是單一的,如果對於使用者分布分散業務來說,訪問肯定是低效緩慢乙個是i/o壓力,乙個是地區偏遠的來說訪問速度慢。

這種情況結合使用cdn服務可以有效解決。

cdn的基本原理是廣泛採用各種快取伺服器,將這些快取伺服器分布到使用者訪問相對集中的地區或網路中,在使用者訪問**時,利用全域性負載技術將使用者的訪問指向距離最近的工作正常的快取伺服器上,由快取伺服器直接響應使用者請求。

直播軟體搭建

訪問流程舉個例子:

cdn直播是和我們直播業務場景最緊密的部分了。借用一下阿里官網的直播圖如下,各廠商cdn直播服務都是如此。

推流到cdn節點(其實對於雲儲存來說就是個檔案上傳的過程)

cdn節點轉到直播中,直播中心類似於強大的具有計算能力的中間源,可以提供額外服務諸如落存(錄製,錄製到雲儲存,可以進行點播通過cdn外鏈訪問),轉碼,審核等。

直播中間分發到cdn節點

直播軟體搭建

協議http-flv

rtmp

hls全稱

傳輸層http長鏈結

tcp 長鏈結

http短鏈結

flvflv

ts檔案(m3u8)

原理同rtmp,協議埠80

每個時刻資料收到立即**

集合一段時間資料,生成ts 切片更新m3u8索引

延時3~5s

10~30s

3~5s

web支援

h5需要外掛程式

h5需要外掛程式

支援其他

需要flash,不便於seek

跨平台支援差需要flash外掛程式

客戶自己提供的一級網域名稱是abc.com,然後再cdn廠商配置後生成二級網域名稱xxpull.abc.com(推流)和xxpull.abc.com(拉流)。

然後客戶需要自己在網域名稱管理處自己將網域名稱做個c記錄(cname)到cdn提供的網域名稱上面去。何為c記錄?可以理解為就是我網域名稱在cdn廠商的對映別名,這樣子dns解析後先解析到cdn廠商的cname然後,cname解析到cdn節點ip伺服器推拉流。

關於上面的位址,還有一點是我們看到有時候位址後面問號?後還有一串內容,這是鑑權。直播推拉流鑑權基本都是時間戳鑑權,時間戳+token的格式。

首先如果是帶鑑權的位址,那我們就先看下時間是否過期了,拿出裡面的時間戳,然後date -r (時間戳)看看是否過期

接下來,拿出位址裡面的網域名稱,dig/nslookup一下看下解析如何,

上圖結果是正常的,網域名稱有c記錄對應到cdn廠商的網域名稱,cdn廠商的網域名稱可以解析附近可用的cdn節點伺服器ip,這個結果告訴我們網域名稱配置是ok的,但是配置ok不代表一定可用。接下來檢查本地訪問到的cdn節點是**,如下圖

直播軟體搭建

ping返回的ip 218.92.209.38, 檢查這個ip的位址以及運營商,www.ipip.net/ip.html

直播軟體搭建

查下本地的出口ip地區是**,比較是否cdn節點和本地出口差的距離很遠或者不是乙個運營商,如果這樣子會發生延遲高,甚至無法訪問的問題。

可以訪問這個 [ping.huatuo.qq.com 檢視本地出口ip] (ping.huatuo.qq.com檢視本地出口ip/)

檢查下來結果還不錯~沒問題。

直播軟體搭建

直播平台怎麼搭建直播特效,實現原理與難點是什麼

直播平台怎麼搭建直播特效,實現原理與難點是什麼 實現直播特效的流程如下 在完成影象的處理後,按照合適位元速率 格式進行編碼。最後,推流到 cdn。要實現美顏效果,不論是基於 webrtc 的移動端還是web端,都可以通過 gpuimage 來實現。如果是基於 webrtc 與 react nativ...

直播軟體開發底層搭建技術是如何實現的?

對於直播軟體開發的底層搭建技術,可能還有很多人不太了解。其實對於直播來講,底層的搭建也是至關重要的部分,就像我們現實生活中蓋樓一樣,要先打好地基才可以繼續搭建。接下來,我們將簡單歸納成幾個部分來簡單介紹一下。使用者鑑權系統 隨著國家對直播行業的監管加強,平台要為使用者提供乙個真實可靠的許可權控制機制...

軟體外掛程式技術的原理與實現

摘要 基於外掛程式的應用系統擁有良好的可擴充性 可定製性和可維護性。2.外掛程式系統的基本原理 外掛程式的木質是在不修改程式主體的情況下對軟體功能進行加強。當外掛程式的介面被公開時任何人都可以自己製作外掛程式來解決一些操作上的不便或增加一些功能。乙個外掛程式框架包括兩個部分 主程式 host 和外掛...