使用VUE和webrtc-streamer實(shí)現(xiàn)實(shí)時(shí)視頻播放(監(jiān)控設(shè)備-rtsp)
前言
首先說明目前我只完成了本地測(cè)試,因還沒確定技術(shù)選型所以暫無(wú)項(xiàng)目應(yīng)用,先做一下儲(chǔ)備,后續(xù)項(xiàng)目應(yīng)用的話這篇文章會(huì)持續(xù)更新。
監(jiān)控設(shè)備播放效果如下:基于公司環(huán)境測(cè)試了大華和??档谋O(jiān)控設(shè)備(H264編碼)可以正確播放
1、下載webrtc-streamer,本機(jī)測(cè)試我下載的最新window版本
https://github.com/mpromonet/webrtc-streamer/releases
2、解壓下載包
3、雙擊webrtc-streamer.exe啟動(dòng)服務(wù)
如下圖則啟動(dòng)成功,此時(shí)在瀏覽器訪問127.0.0.1:8000可以看到本機(jī)監(jiān)控畫面
4、將下載包html文件夾下webrtcstreamer.js文件和html/libs文件夾下adapter.min.js文件復(fù)制到VUE項(xiàng)目public目錄下
在index.html文件里引入這兩個(gè)js文件
5、編寫測(cè)試頁(yè)面
注意:第三步在本機(jī)啟動(dòng)服務(wù)所以 new WebRtcStreamer(id,serverUrl)中URL傳入127.0.0.1端口可
見第三步截圖為8000;各監(jiān)控設(shè)備廠商有自己的RTSP地址格式connect要傳入正確的rtsp地址。
<template> <div> <el-button @click="handleChange">切換</el-button> <video id="video" autoplay width="900" height="900"></video> </div> </template> <script> export default { name: 'index1', data() { return { webRtcServer: null } }, mounted() { //video:需要綁定的video控件ID //127.0.0.1:8000:?jiǎn)?dòng)webrtc-streamer的設(shè)備IP和端口,默認(rèn)8000 this.webRtcServer = new WebRtcStreamer('video', location.protocol + '//127.0.0.1:8000') //需要查看的rtsp地址 this.webRtcServer.connect('rtsp://user:password@ip:port/cam/realmonitor?channel=1&subtype=0') //rtsp://user:password@ip:port/h264/ch1/main/av_stream--??? //rtsp://user:password@ip:port/cam/realmonitor?channel=1&subtype=0--大華 }, beforeDestroy() { this.webRtcServer.disconnect() this.webRtcServer = null }, methods: { handleChange() { this.webRtcServer.connect('rtsp://user:password@ip:port/h264/ch1/main/av_stream') } } } </script> <style scoped></style>
6、運(yùn)行項(xiàng)目可查看監(jiān)控視頻播放效果
以上為本機(jī)測(cè)試webrtc-streamer實(shí)現(xiàn)實(shí)時(shí)視頻播放效果的全過程,后續(xù)還要驗(yàn)證服務(wù)器運(yùn)行服務(wù)、局域網(wǎng)公網(wǎng)訪問以及性能等。
總結(jié)
到此這篇關(guān)于使用VUE和webrtc-streamer實(shí)現(xiàn)實(shí)時(shí)視頻播放(監(jiān)控設(shè)備-rtsp)的文章就介紹到這了,更多相關(guān)webrtc-streamer實(shí)時(shí)視頻播放內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于vue項(xiàng)目一直出現(xiàn) sockjs-node/info?t=XX的解決辦法
sockjs-node 是一個(gè)JavaScript庫(kù),提供跨瀏覽器JavaScript的API,創(chuàng)建了一個(gè)低延遲、全雙工的瀏覽器和web服務(wù)器之間通信通道,這篇文章主要介紹了vue項(xiàng)目一直出現(xiàn) sockjs-node/info?t=XX的解決辦法,需要的朋友可以參考下2023-12-12vue引入iconfont圖標(biāo)庫(kù)的優(yōu)雅實(shí)戰(zhàn)記錄
使用組件庫(kù)時(shí),圖標(biāo)往往不能滿足需求,所以我們常常需要用到第三方圖標(biāo)庫(kù),這篇文章主要給大家介紹了關(guān)于vue引入iconfont的相關(guān)資料,需要的朋友可以參考下2021-06-06Vue讓router-view默認(rèn)顯示頁(yè)面操作方法
一個(gè)home頁(yè)面,點(diǎn)擊左邊的菜單欄,右邊顯示頁(yè)面,因此都知道在右邊放一個(gè)router-view然后配置路由即可,然而問題出現(xiàn)在:重新打開的時(shí)候,默認(rèn)是白色空的,遇到這樣的問題如何解決呢,下面小編給大家分享Vue讓router-view默認(rèn)顯示頁(yè)面操作方法,感興趣的朋友一起看看吧2024-03-03vue+springboot實(shí)現(xiàn)登錄驗(yàn)證碼
這篇文章主要為大家詳細(xì)介紹了vue+springboot實(shí)現(xiàn)登錄驗(yàn)證碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05Vue中如何實(shí)現(xiàn)動(dòng)態(tài)路由的示例代碼
本文主要介紹了Vue中如何實(shí)現(xiàn)動(dòng)態(tài)路由的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05瀏覽器事件循環(huán)與vue nextTicket的實(shí)現(xiàn)
這篇文章主要介紹了瀏覽器事件循環(huán)(結(jié)合vue nextTicket)的實(shí)現(xiàn)方法,需要的朋友可以參考下2019-04-04vue3+element-plus動(dòng)態(tài)路由菜單示例代碼
這篇文章主要介紹了vue3+element-plus動(dòng)態(tài)路由菜單示例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-11-11