監控攝像頭的拉流轉發實現

這兩天一直在調試Darwin的拉流轉發功能,也就是使用Darwin服務器拉取另一個RTSP服務器的視頻流(比方監控攝像頭)的實時視頻,然後通過Darwin服務器提供的rtsp地址進行轉發播放,這個簡稱爲拉流轉發服務,基本功已經正常完成(網上有一個QTSSOnDemandRelayModule的思路可以參考:DarwinServer);現在包括海康攝像頭提供的螢石雲服務,其實是將這種拉流轉發服務直接內置到了監控攝像頭中,監控攝像頭直接將採集到的視頻流推送給雲端的服務器,雲端服務器提供實時點播的地址,提供手機客戶端通過雲端對監控攝像頭的實時查看能力;

 

其實還做了另一個嘗試,就是如何通過瀏覽器直接查看實時監控的視頻流,給瀏覽器加播放器插件是已知的方案,過程中還嘗試使用RTMP服務器SRS的hls切片能力,生成hls的點播地址,沒有成功,所以考慮換個思路,通過WebRTC來實現這個功能,恰好前一段研究過Janus,Janus作爲一個WebRTC的網關使用,其中的streaming插件能提供對rtsp流的請求和轉發能力,瀏覽器的播放受限於codec的支持,所以監控攝像頭通常採用的H264碼流在瀏覽器端不能播放,通過嘗試,如果轉碼爲VP8,則播放正常;

 

整個完整的拓撲結構如下圖:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章