1. 程式人生 > 其它 >網頁端接入海康攝像頭畫面操作指南

網頁端接入海康攝像頭畫面操作指南

一、攝像頭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端顯示監控畫面。