使用LiveNVR实现将RTSP转RTMP、FLV、HLS,实现监控摄像头无插件直播
背景需求
對(duì)于攝像機(jī)直播,客戶反饋的最多就是實(shí)現(xiàn)web直播、擺脫插件,可以自定義集成等問題,
對(duì)于熟悉LiveNVR已經(jīng)完美的解決了這些問題。然而對(duì)于web播放也存在一些問題,通常我們web播放RTMP流使用的是flash,在這個(gè)過程中就會(huì)出現(xiàn)一個(gè)問題,隨著web一直播放直播時(shí)間的增加,視頻直播的延時(shí)也會(huì)累積起來,延時(shí)也就越大。
問題分析
通過自我調(diào)研和客戶反饋得出在ckplayer、videojs、aliplayer等播放器都會(huì)有類似問題,出現(xiàn)該問題的原因在于我們播放rtmp視頻流的時(shí)候啟用了flash,咱們的LiveNVR調(diào)用的videojs播放rtmp視頻流依然會(huì)有這個(gè)問題的存在。
解決參考
videojs是一款開源的播放器,對(duì)于播放器自身定位不一定是實(shí)時(shí)的直播。我們對(duì)他進(jìn)行了重新的編譯,將緩存設(shè)置更小,同時(shí)videojs也有對(duì)應(yīng)的參數(shù)是用來對(duì)應(yīng)播放實(shí)時(shí)流的。
經(jīng)過我們實(shí)時(shí)的測試發(fā)現(xiàn),編譯出的低延時(shí),追幀版本的播放器在實(shí)測過程中對(duì)網(wǎng)絡(luò)有一定的要求,因?yàn)椴シ牌髟诓シ艜r(shí)為了保證實(shí)時(shí)性就會(huì)一直追幀,這樣就不會(huì)存在累計(jì)延時(shí)的情況了,但是,當(dāng)網(wǎng)絡(luò)環(huán)境差的時(shí)候,我們的網(wǎng)絡(luò)無法完全滿足直播視頻數(shù)據(jù)時(shí)就會(huì)在直播會(huì)面中出現(xiàn)類似掉幀的情況。
LiveNVR的處理方式
LiveNVR是實(shí)時(shí)的進(jìn)行直播視頻流,因此在視頻的web直播中我們也有遇到延時(shí)累計(jì)的問題。我們采用的方式是將兩個(gè)播放形式都集成到我們的播放系統(tǒng)中,并且可以通過播放頁面來進(jìn)行播放模式的選擇
我們將直播分為了實(shí)時(shí)直播和流暢直播,顧名思義,實(shí)時(shí)就是保證直播的實(shí)時(shí)性,保證播放器的低延時(shí)直播;流暢直播則為可以在網(wǎng)絡(luò)環(huán)境不是特別理想的情況下依然可以 進(jìn)行流暢的視頻直播。
經(jīng)過播放一段時(shí)間的對(duì)比就可以看出兩者這件的差別。
注意為了方便用戶的集成,我們將videojs的功能通封裝成播放器 liveplayer
具體調(diào)用方式和使用方法見鏈接:https://www.npmjs.com/package/@liveqing/liveplayer
關(guān)于LiveNVR
LiveNVR能夠通過簡單的網(wǎng)絡(luò)攝像機(jī)通道配置,將傳統(tǒng)監(jiān)控行業(yè)里面的高清網(wǎng)絡(luò)攝像機(jī)IP Camera、NVR等具有RTSP協(xié)議輸出的設(shè)備接入到LiveNVR,LiveNVR能夠?qū)⑦@些視頻源的音視頻數(shù)據(jù)進(jìn)行拉取,轉(zhuǎn)換為HTTP-FLV/RTMP/HLS,進(jìn)行全平臺(tái)終端H5直播(Web、Android、iOS),并且LiveNVR能夠?qū)⒁曨l源的直播數(shù)據(jù)對(duì)接到第三方CDN網(wǎng)絡(luò),實(shí)現(xiàn)互聯(lián)網(wǎng)級(jí)別的直播分發(fā);
轉(zhuǎn)載于:https://www.cnblogs.com/kumukim/p/10941048.html
總結(jié)
以上是生活随笔為你收集整理的使用LiveNVR实现将RTSP转RTMP、FLV、HLS,实现监控摄像头无插件直播的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 反射——基本概念
- 下一篇: hadoop2.8 ha 集群搭建