天天看點

LiveGBS-錄影機網頁低延時無插件直播實作

背景需求

對于錄影機直播,客戶回報的最多就是實作web直播、擺脫插件,可以自定義內建等問題,

對于熟悉LiveGBS已經完美的解決了這些問題。然而對于web播放也存在一些問題,通常我們web播放RTMP流使用的是flash,在這個過程中就會出現一個問題,随着web一直播放直播時間的增加,視訊直播的延時也會累積起來,延時也就越大。

問題分析

通過自我調研和客戶回報得出在ckplayer、videojs、aliplayer等播放器都會有類似問題,出現該問題的原因在于我們播放rtmp視訊流的時候啟用了flash,咱們的LiveGBS調用的videojs播放rtmp視訊流依然會有這個問題的存在。

解決參考

videojs是一款開源的播放器,對于播放器自身定位不一定是實時的直播。我們對他進行了重新的編譯,将緩存設定更小,同時videojs也有對應的參數是用來對應播放實時流的。

經過我們實時的測試發現,編譯出的低延時,追幀版本的播放器在實測過程中對網絡有一定的要求,因為播放器在播放時為了保證明時性就會一直追幀,這樣就不會存在累計延時的情況了,但是,當網絡環境差的時候,我們的網絡無法完全滿足直播視訊資料時就會在直播會面中出現類似掉幀的情況。

LiveGBS的處理方式

LiveGBS是實時的進行直播視訊流,是以在視訊的web直播中我們也有遇到延時累計的問題。我們采用的方式是将兩個播放形式都內建到我們的播放系統中,并且可以通過播放頁面來進行播放模式的選擇

LiveGBS-錄影機網頁低延時無插件直播實作
LiveGBS-錄影機網頁低延時無插件直播實作

我們将直播分為了實時直播和流暢直播,顧名思義,實時就是保證直播的實時性,保證播放器的低延時直播;流暢直播則為可以在網絡環境不是特别理想的情況下依然可以 進行流暢的視訊直播。

注意 為了友善使用者的內建,我們将videojs的功能通封裝成播放器 liveplayer,

具體調用方式和使用方法見連結:​​https://www.npmjs.com/package/@liveqing/liveplayer​​

LiveGBS-錄影機網頁低延時無插件直播實作

擷取更多資訊

技術交流QQ群:947137753

繼續閱讀