網頁端接入海康攝像頭畫面操作指南
阿新 • • 發佈:2021-07-08
一、攝像頭rtsp流畫面測試 首先根據相關攝像頭內附的說明書對攝像頭進行安裝以及wifi配置或者通過網線直連,配置完成後確保攝像頭畫面能夠在手機APP或者相關應用程式上正常播放。 然後進入海康威視官網下載並安裝SADP攝像頭IP搜尋工具。 開啟SADP(裝置網路搜尋),即能檢視當前區域網下的所有海康攝像頭IP地址。 下面進行攝像頭rtsp流播放測試: 1.下載VLC media player,並安裝開啟。 2.開啟媒體 --> 網路串流 --> 網路。 3.輸入海康攝像頭的rtsp地址並進行播放。海康的rtsp地址一般組成如下:rtsp://admin:{攝像頭背後驗證碼或密碼}@{攝像頭IP地址}:554/h264/ch1/main/av_stream 能夠正常播放後,進行下一步操作。 二、流媒體伺服器搭建 要將監控畫面在web端顯示需要流媒體伺服器的支援,當前主流的流媒體服務主要通過SRS、nginx、nodejs等搭建,下面主要介紹由node搭建的流媒體伺服器。 要求電腦上有node環境,若沒有請去node官網進行下載以及安裝。安裝完成後開啟cmd輸入node -v檢視node版本以及檢查node是否安裝成功。 該流媒體伺服器採用node-media-server外掛,具體搭建流程如下: 1.新建相關資料夾。 2.使用cmd並進入新建的資料夾內,輸入npm install node-media-server安裝相關外掛。 3.安裝完成後在新建的資料夾內新建一個js檔案,在js檔案內輸入相關呼叫以及配置程式碼。
const NodeMediaServer = require('node-media-server') const config = { rtmp: { port: 1935, chunk_size: 60000, gop_cache: true, ping: 60, ping_timeout:30 }, http: { port: 8000, allow_origin:'*' } } let nms = new NodeMediaServer(config) nms.run()
4.執行node服務。 顯示如上介面則表示啟動完成,可以在瀏覽器上登入 localhost:8000/admin 檢視node服務頁面。
三、視訊流轉碼以及推流 因為rtsp流無法直接在web端播放,因此通常將rtsp流轉化為rtmp、httpFlv、hls等編碼格式,因為rtmp依賴flash,hls流的延遲太大,因此選用httpFlv作為傳輸的碼流格式,轉碼方式如下:
1.下載並安裝ffmpeg。
2.配置環境變數並在cmd使用ffmpeg -h測試。
3.使用ffmpeg指令對rtsp流進行轉碼以及推流(下方的node端地址中的STREAM_NAME_agv_1可以隨意更改表示直播的“房間”)。
4.再次開啟VLC並開啟網路串流,輸入httpFlv碼流地址進行播放,能夠正常播放即轉碼完成。
ffmpeg -re -i "rtsp://admin:[email protected]:554/h264/ch33/sub/av_stream" -tune zerolatency -c:v libx264 -preset ultrafast -s 800x600 -b:v 1800k -bufsize 1800k -maxrate 2000k -an -f flv rtmp://localhost/live/STREAM_NAME_agv_2
(將上方圖片的node端地址中的rtmp改為http並加入字尾.flv即http://{node服務的IP地址以及埠}/live/STREAM_NAME_agv_1.flv)。
四、網頁顯示 web端顯示需要支援httpFlv格式的播放器,這邊選用的是LivePlayer.js。根據其相關配置配置完後,即可在web端顯示監控畫面。