国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

web端播放rtsp視頻流(攝像頭監(jiān)控視頻)教程及window下開機自啟動部署

這篇具有很好參考價值的文章主要介紹了web端播放rtsp視頻流(攝像頭監(jiān)控視頻)教程及window下開機自啟動部署。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

像海康大華一些攝像頭或者直播源 為rtsp視頻流,想在web上播放必須進行協(xié)議轉(zhuǎn)換。已知一些方案例如rtsp轉(zhuǎn)rtmp需要flash,現(xiàn)在瀏覽器基本不支持flash。還有轉(zhuǎn)hls或者flv這些延遲都比較高。經(jīng)過實踐對比比較理想方案是 經(jīng)轉(zhuǎn)碼后視頻流通過websocket傳送給客戶端在將視頻流解碼成圖片通過canvas渲染出來,延遲比較小基本在1s以內(nèi)。所用工具(插件)為ffmpeg+node(node-rtsp-stream)+jsmpeg


一、ffmpeg是什么?

FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機程序。采用LGPL或GPL許可證。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案,簡而言之就是一個可以轉(zhuǎn)換各種視頻流格式/協(xié)議的強大工具。

二、ffmpeg安裝

1.下載

ffmpeg下載地址

web顯示監(jiān)控攝像頭,前端,音視頻
進入官網(wǎng)選擇window圖標-點擊windows builds form gyan.dev

web顯示監(jiān)控攝像頭,前端,音視頻
進入內(nèi)頁下拉找ffmpeg-release-essentials.zip點擊下載

下載完解壓

web顯示監(jiān)控攝像頭,前端,音視頻

在bin目錄下有個ffmpeg.exe 程序運行入口
web顯示監(jiān)控攝像頭,前端,音視頻

2.安裝

  ffmpeg添加到全局環(huán)境變量

window+i 輸入’環(huán)境變量’搜索打開系統(tǒng)屬性窗口

web顯示監(jiān)控攝像頭,前端,音視頻
點擊環(huán)境變量,在系統(tǒng)變量中找到Path點擊編輯

web顯示監(jiān)控攝像頭,前端,音視頻
瀏覽-選擇ffmpeg解壓出來的bin目錄

web顯示監(jiān)控攝像頭,前端,音視頻
確定-確定-確定關(guān)閉窗口

添加成功后驗證是否生效
任意地方打開Powershell窗口或cmd窗口
輸入 ffmpeg 打印如下表示成功

web顯示監(jiān)控攝像頭,前端,音視頻


三、node搭建websocket服務(wù)

此功能需要借助node-rtsp-stream插件,node-rtsp-stream是一個node環(huán)境下處理rtsp視頻流插件,借助它能通過代碼自動調(diào)用ffmpeg程序進行推流拉取轉(zhuǎn)換并以websocket形式輸出視頻流。
由于在node下搭建服務(wù),所以電腦要先安裝node環(huán)境。怎么安裝node環(huán)境自行查找其他教程。

新建一個app.js文件,同級目錄下npm安裝 node-rtsp-stream

npm install node-rtsp-stream -S

web顯示監(jiān)控攝像頭,前端,音視頻
app.js寫入:

const stream = require('node-rtsp-stream')
 new stream({
  name: 'video-stream',
  streamUrl: 'rtsp://xxxxx',//rtsp地址
  wsPort: 9999,//端口號
  ffmpegOptions: { 
    '-stats': '', 
    '-r': 30 ,//視頻幀數(shù)
    '-s': '1920*1080' //視頻分辨率
  }
})

運行

node app.js

web顯示監(jiān)控攝像頭,前端,音視頻

出現(xiàn)上面打印一堆推流數(shù)據(jù)表示node服務(wù)啟動成功,服務(wù)端工作就完成了

四、web客戶端播放視頻

web端用到j(luò)smpeg插件播放視頻,jsmpeg是個js插件能將視頻流解碼成圖片并渲染出來。

jsmpeg.min.js下載地址:jsmpeg.min.js

新建index.html文件,jsmpeg.min.js放置同一個目錄下,index.html寫入

<!DOCTYPE >
<html>
  <head>
    <script src="./jsmpeg.min.js"></script>
    <style>
      #video{
        width: 1000px;
        height: 600px;
      }
    </style>
  </head>
  <body>
    <canvas id="video"></canvas>
    <button onclick="onPlay()">播放</button>
    <button onclick="onPause()">暫停</button>
    <button onclick="onStop()">停止</button>
  </body>
  <script>
    var canvas = document.getElementById("video");
    var url = "ws://127.0.0.1:9999";//node服務(wù)ip+端口號,本機node服務(wù)默認127.0.0.1
    var player = new JSMpeg.Player(url, { canvas });

    //開始播放
    function onPlay() {
      player.play();
    }

    //暫停播放
    function onPause() {
      player.pause();
    }

    //停止播放
    function onStop() {
      player.stop();
    }
  </script>
</html>

測試:打開運行index.html,成功播放

web顯示監(jiān)控攝像頭,前端,音視頻

五、window下開機自啟動部署

window環(huán)境(服務(wù)器)下開機自啟動推流實現(xiàn),一般用于本地局域網(wǎng)使用

1.node項目根目錄下新建start.bat 腳本并寫入

@echo off
cd /d %~dp0
node app.js
exit

web顯示監(jiān)控攝像頭,前端,音視頻

此時雙擊start.bat就能自動運行app.js

2.新建init.vbs腳本寫入

CreateObject("WScript.Shell").Run "cmd /c D:\javaworkspace\node\start.bat",0

其中D:\javaworkspace\node\start.bat換成自己的start.bat路徑

3.vbs腳本放入開機自啟動文件夾

win+R運行shell:startup打開開機自啟動文件夾把init.vbs放入
web顯示監(jiān)控攝像頭,前端,音視頻
web顯示監(jiān)控攝像頭,前端,音視頻
這樣每次開機都會自啟動推流服務(wù),而且是在后臺靜默推流隱藏cmd窗口。

demo示例

文章頂部提供了demo示例,從網(wǎng)上找的公用測試rtmp資源(未找到rtsp資源用rtmp代替,該方案2種格式都支持),rtmp隨時都可能失效,如失效請換成自己的資源測試。文章來源地址http://www.zghlxwxcb.cn/news/detail-846156.html

到了這里,關(guān)于web端播放rtsp視頻流(攝像頭監(jiān)控視頻)教程及window下開機自啟動部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • WSL2通過OpenCV調(diào)用并展示本機攝像頭的RTSP視頻流

    WSL2通過OpenCV調(diào)用并展示本機攝像頭的RTSP視頻流

    本篇博客的由來如上圖哈哈,WSL2 相關(guān)安裝教程可以參考我之前的博客:Win11安裝WSL2和Nvidia驅(qū)動 更多文章歡迎來我的博客小站看呀,會有更多的技術(shù)細節(jié)~ ubuntu上請執(zhí)行 或者編譯安裝 如果報錯 Could NOT find OpenSSL ,安裝如下依賴即可解決 下載解壓 EasyDarwin Easydarwin是國內(nèi)團隊開

    2024年02月09日
    瀏覽(108)
  • WSL2 ubuntu子系統(tǒng)OpenCV調(diào)用本機攝像頭的RTSP視頻流做開發(fā)測試

    WSL2 ubuntu子系統(tǒng)OpenCV調(diào)用本機攝像頭的RTSP視頻流做開發(fā)測試

    由于WSL2環(huán)境與主機系統(tǒng)隔離,訪問本機攝像頭是有限的,但是,可以通過第三方庫或網(wǎng)絡(luò)攝像頭來解決這個問題,本文將本地攝像頭通過rtsp流來給WSL2訪問。 詳見鏈接:https://blog.csdn.net/weixin_46119406/article/details/132271955?spm=1001.2014.3001.5501 Easydarwin是國內(nèi)團隊開發(fā)的開源流媒體框架

    2024年02月11日
    瀏覽(21)
  • 使用nginx和ffmpeg搭建HTTP FLV流媒體服務(wù)器(攝像頭RTSP視頻流->RTMP->http-flv)

    使用nginx和ffmpeg搭建HTTP FLV流媒體服務(wù)器(攝像頭RTSP視頻流->RTMP->http-flv)

    名詞解釋 ? RTSP (Real-Time Streaming Protocol) 是一種網(wǎng)絡(luò)協(xié)議,用于控制實時流媒體的傳輸。它是一種應(yīng)用層協(xié)議,通常用于在客戶端和流媒體服務(wù)器之間建立和控制媒體流的傳輸。RTSP允許客戶端向服務(wù)器發(fā)送請求,如播放、暫停、停止、前進、后退等,以控制媒體流的播放和

    2024年02月16日
    瀏覽(34)
  • Qt推流程序(視頻文件/視頻流/攝像頭/桌面轉(zhuǎn)成流媒體rtmp+hls+webrtc)可在網(wǎng)頁和播放器遠程觀看

    Qt推流程序(視頻文件/視頻流/攝像頭/桌面轉(zhuǎn)成流媒體rtmp+hls+webrtc)可在網(wǎng)頁和播放器遠程觀看

    推流直播就是把采集階段封包好的內(nèi)容傳輸?shù)椒?wù)器的過程。其實就是將現(xiàn)場的視頻信號從手機端,電腦端,攝影機端打包傳到服務(wù)器的過程?!巴屏鳌睂W(wǎng)絡(luò)要求比較高,如果網(wǎng)絡(luò)不穩(wěn)定,直播效果就會很差,觀眾觀看直播時就會發(fā)生卡頓等現(xiàn)象,觀看體驗比較糟糕。主流

    2024年02月04日
    瀏覽(94)
  • ffmpeg從攝像頭獲取視頻流

    使用FFmpeg獲取本地攝像頭設(shè)備 ffmpeg -list_devices true -f dshow -i dummy ffmpeg -f dshow -i video=\\\"e2eSoft iVCam\\\" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://127.0.0.1/test ffmpeg -f dshow -i video=\\\"OBS Virtual Camera\\\" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp

    2024年02月11日
    瀏覽(101)
  • OpenCV獲取網(wǎng)絡(luò)攝像頭實時視頻流

    參考文章: [常用工具] OpenCV獲取網(wǎng)絡(luò)攝像頭實時視頻流_opencv網(wǎng)絡(luò)攝像頭 [常用工具] OpenCV獲取網(wǎng)絡(luò)攝像頭實時視頻流_opencv網(wǎng)絡(luò)攝像頭_落痕的寒假的博客-CSDN博客 在使用OpenCv處理視頻時,無論是視頻文件還是攝像頭畫面,都要使用VideoCapture類來進行每一幀圖像的處理。當我們

    2024年02月01日
    瀏覽(101)
  • opencv基本操作二(讀取視頻流與保存視頻、讀取攝像頭并保存視頻)

    opencv常用 讀視頻函數(shù) cv2.VideoCapture 、 cv2.VideoCapture.get 等,可以參考這里 opencv常用 寫視頻函數(shù) cv2.VideoWriter 等可以參考這里 ,其中視頻格式可以參考這里 videoCapture.read() 是按幀讀取視頻, ret,frame 是獲 .read() 方法的兩個返回值。其中 ret 是布爾值,如果讀取幀是正確的則返回

    2023年04月08日
    瀏覽(380)
  • 網(wǎng)絡(luò)攝像頭-流媒體服務(wù)器-視頻流客戶端

    當涉及交通事件檢測算法和攝像頭視頻數(shù)據(jù)處理時,涉及的代碼案例可能會非常復(fù)雜,因為這涉及到多個組件和技術(shù)。以下是一個簡單的Python代碼示例,演示如何使用OpenCV庫捕獲攝像頭視頻流并進行實時車輛檢測,這是一個常見的交通事件檢測任務(wù)。請注意,這只是一個入門

    2024年02月09日
    瀏覽(27)
  • Vue實現(xiàn)攝像頭視頻分屏, 使用flv.js接收rtmp/flv視頻流

    Vue實現(xiàn)攝像頭視頻分屏, 使用flv.js接收rtmp/flv視頻流

    1. 現(xiàn)有的平臺系統(tǒng)播放實時視頻。 因為用戶電腦都是Linux系統(tǒng),無法直接使用??登岸薙DK,討論決定由后臺推視頻流,簡單調(diào)研后發(fā)現(xiàn)最流行的是flv,而且有B站開源的flv.js適配。前期后臺推給我RTMP前綴的視頻流,我嘗試使用video.js,西瓜視頻等都失敗了,后來后端改為http前

    2024年02月03日
    瀏覽(27)
  • 樹莓派學(xué)習(xí):學(xué)習(xí)opencv+用opencv獲取樹莓派mjpg攝像頭視頻流

    目錄 前提步驟 打開樹莓派攝像頭 查看是否有圖像,登錄游覽器打開樹莓派IP地址的8080端口 獲取mjpg的視頻流url 代碼 先設(shè)定好mjpg的視頻流的url 利用opencv庫中的v2.VideoCapture類讀取mjpg視頻流? ?cv2.VideoCapture() 檢查攝像頭是否成功打開,如果沒有,則打印錯誤消息并退出程序?

    2024年02月03日
    瀏覽(98)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包