基于 WebRTC 的 RTSP 視頻實時預覽

簡介

背景

由于項目需要,需要使用攝像頭預覽功能令哟,設備型號為海康威視妨蛹。目前已存在的基于 FFmpeg 的方案延遲都太高屏富,所以項目最終選擇基于此方案。

方案

方案選用為基于 WebRTC 的視頻即時通訊蛙卤,它原生支持對 RTP 協議的解碼狠半,所以能夠做到延遲很低,大概0.2-0.4秒左右颤难,其他方案都有大于1秒的延遲神年。
WebRTC對瀏覽器有要求,可以在下面的地址中查看支持的瀏覽器行嗤。
https://caniuse.com/rtcpeerconnection

image

以下介紹內容來自百度百科

WebRTC已日,名稱源自網頁即時通信(英語:Web Real-Time Communication)的縮寫,是一個支持網頁瀏覽器進行實時語音對話或視頻對話的API栅屏。它于2011年6月1日開源并在Google飘千、Mozilla、Opera支持下被納入萬維網聯盟的W3C推薦標準栈雳。

WebRTC實現了基于網頁的視頻會議护奈,標準是WHATWG 協議,目的是通過瀏覽器提供簡單的javascript就可以達到實時通訊(Real-Time Communications (RTC))能力哥纫。

WebRTC 的實現方案在 Github 有非常多霉旗,經過一序列對比和測試,最終選擇的是使用 webrtc-streamer 這個項目,其容易使用并且較為穩(wěn)定厌秒。

Getting Started

webrtc-streamer 不僅支持對 RTSP 流的捕獲而且還支持對V4L2以及屏幕窗口快照的捕獲读拆。

webrtc-streamer 內置了一個小型的 HTTP server 來對 webrtc 需要的相關接口提供支持。
下面具體開始如何設置:

對攝像頭進行配置

由于 webrtc 的核心庫還不支持 h265, 所以需要設置為 h264 編碼简僧。
登錄到海康威視攝像頭的后臺配置中心雕欺,在 “視音頻” 菜單下進行設置岛马,然后保存。

image

下載最新包

在github 發(fā)布頁面根據需要的平臺選擇相應的包下載
https://github.com/mpromonet/webrtc-streamer/releases

下載完成后可以使用以下命令進行測試:

./webrtc-streamer rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov

打開 localhost:8000 已訪問頁面

測試設備

如果沒有問題屠列,就可以使用本地的設備進行測試了啦逆,海康威視視頻流默認地址為:

rtsp://賬號:密碼@IP地址:554/Streaming/Channels/101

替換相應的信息以進行測試笛洛。
如果是在 windows 下夏志,webrtc-streamer 也會抓取到窗口和屏幕的快照頁面,可以使用 -q 參數進行過濾苛让,其支持正則表達式沟蔑。這個參數沒有在 help 列表里面列出來是我查看源碼發(fā)現的。

./webrtc-streamer  rtsp://賬號:密碼@IP地址:554/Streaming/Channels/101 -q (?=rtsp).*

集成

你可以在下載的發(fā)布包中的html文件夾中找到 index.html 來查看示例代碼狱杰,下面列出來核心代碼:


<html>
<head>
<script src="libs/adapter.min.js" ></script>
<script src="webrtcstreamer.js" ></script>
<script>        
    var webRtcServer      = null;
    window.onload         = function() { 
        webRtcServer      = new WebRtcStreamer("video",location.protocol+"http://"+window.location.hostname+":8000");
    webRtcServer.connect("rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov");
    }
    window.onbeforeunload = function() { webRtcServer.disconnect(); }
</script>
</head>
<body> 
    <video id="video" />
</body>
</html>

使用 WebComponent 集成

<html>
<head>
    <script type="module" src="webrtc-streamer-element.js"></script>
</head>
<body>
   <webrtc-streamer url="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"></webrtc-streamer>
</body>
</html>

總結

主要還是對 webrtc 的熟悉瘦材,你可以在 https://webrtc.org/getting-started/overview 找到相關指南。
比如什么是 TURN server仿畸,什么是peer connections 都可以在上面的指南中找到食棕。


本文地址:http://www.cnblogs.com/savorboard/p/webrtc-rtsp.html
作者博客:Savorboard

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市错沽,隨后出現的幾起案子簿晓,更是在濱河造成了極大的恐慌,老刑警劉巖千埃,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件憔儿,死亡現場離奇詭異,居然都是意外死亡放可,警方通過查閱死者的電腦和手機皿曲,發(fā)現死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吴侦,“玉大人屋休,你說我怎么就攤上這事”溉停” “怎么了劫樟?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我叠艳,道長奶陈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任附较,我火速辦了婚禮吃粒,結果婚禮上,老公的妹妹穿的比我還像新娘拒课。我一直安慰自己徐勃,他們只是感情好,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布早像。 她就那樣靜靜地躺著僻肖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪卢鹦。 梳的紋絲不亂的頭發(fā)上臀脏,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機與錄音冀自,去河邊找鬼揉稚。 笑死,一個胖子當著我的面吹牛熬粗,可吹牛的內容都是我干的窃植。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼荐糜,長吁一口氣:“原來是場噩夢啊……” “哼巷怜!你這毒婦竟也來了?” 一聲冷哼從身側響起暴氏,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤延塑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后答渔,有當地人在樹林里發(fā)現了一具尸體关带,經...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年沼撕,在試婚紗的時候發(fā)現自己被綠了宋雏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡务豺,死狀恐怖磨总,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情笼沥,我是刑警寧澤蚪燕,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布娶牌,位于F島的核電站,受9級特大地震影響馆纳,放射性物質發(fā)生泄漏诗良。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一鲁驶、第九天 我趴在偏房一處隱蔽的房頂上張望鉴裹。 院中可真熱鬧,春花似錦钥弯、人聲如沸径荔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽猖凛。三九已至赂蠢,卻和暖如春绪穆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背虱岂。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工玖院, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人第岖。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓难菌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蔑滓。 傳聞我的和親對象是個殘疾皇子郊酒,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內容