1. 程式人生 > >EasyNVR---攝像機網頁低延時無外掛直播實現

EasyNVR---攝像機網頁低延時無外掛直播實現

背景需求

對於攝像機直播,客戶反饋的最多就是實現web直播、擺脫外掛,可以自定義整合等問題,
對於熟悉EasyNVR已經完美的解決了這些問題。然而對於web播放也存在一些問題,通常我們web播放RTMP流使用的是flash,在這個過程中就會出現一個問題,隨著web一直播放直播時間的增加,視訊直播的延時也會累積起來,延時也就越大

問題分析

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

解決參考

videojs是一款開源的播放器,對於播放器自身定位不一定是實時的直播。我們對他進行了重新的編譯,將快取設定更小,同時videojs也有對應的引數是用來對應播放實時流的。
經過我們實時的測試發現,編譯出的低延時,追幀版本的播放器在實測過程中對網路有一定的要求,因為播放器在播放時為了保證實時性就會一直追幀,這樣就不會存在累計延時的情況了,但是,當網路環境差的時候,我們的網路無法完全滿足直播視訊資料時就會在直播會面中出現類似掉幀的情況。

EasyNVR的處理方式

EasyNVR是實時的進行直播視訊流,因此在視訊的web直播中我們也有遇到延時累計的問題。我們採用的方式是將兩個播放形式都整合到我們的播放系統中,並且可以通過播放頁面來進行播放模式的選擇

這裡寫圖片描述

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

這裡寫圖片描述

經過播放一段時間的對比就可以看出兩者這件的差別。

注意為了方便使用者的整合,我們將videojs的功能通封裝成播放器 easy-player

這裡寫圖片描述

具體呼叫方式和使用方法見連結:https://www.npmjs.com/package/easy-player


關於EasyNVR

EasyNVR能夠通過簡單的網路攝像機通道配置,將傳統監控行業裡面的高清網路攝像機IP Camera、NVR等具有RTSP協議輸出的裝置接入到EasyNVR,EasyNVR能夠將這些視訊源的音視訊資料進行拉取,轉換為RTMP/HLS,進行全平臺終端H5直播(Web、Android、iOS),並且EasyNVR能夠將視訊源的直播資料對接到第三方CDN網路,實現網際網路級別的直播分發;

詳細說明:http://www.easynvr.com

點選連結加入群【EasyNVR解決方案】:383501345

Copyright © EasyDarwin Team 2012-2018

EasyDarwin