實現攝像頭在內網、外網、gb28181 實現 「視訊監控/直播」 的常用幾種方式

2020-09-24 14:00:33

對於新手來說,實現攝像頭遠端視訊監控(包括直播、回放、雲臺、錄影雲端儲存、截圖操作等)有哪些常用的方案,頭腦很模糊,或者網上找到了很多資料,不知道這些資料是屬於哪一種方案,可以滿足自己的需求!

對於我來說,也是經過一段時間,才理清了思路,網上難找到有整合總結性的方案說明,都是比較零散,我分享一下經驗,然後大家在做方案的時候就可以知道哪一種更適合自己,避免少走彎路!這裡作個分享!

 

一、在區域網內檢視視訊監控的方案

優/缺點:成本低,實現相對 外網的方案 要簡單,網路寬頻問題也問題不大,但不能遠端觀看

條件:在一個小區,或者一個大樓,一個限定的區域內,在同一個區域網內使用

實現方式:

1、根據攝像頭或者nvr提供的播放地址存取(相對簡單,功能最少)

             使用rtsp協定可以存取nvr/攝像頭的直播地址,把播放地址整理出來

             如:rtsp://admin:123456@192.168.1.151/h264/ch33/main/av_stream 可以vlc播發器中播放       

             可以通過ffmpeg+nginx-rtmp-module/srs/ZLMediaKit/Monibuca 串流媒體服務轉換成m3u8格式,實現在web播放

 2、使用onvif國際標準實現(功能齊全)

         根據onvif協定,可以取到區域網內攝像頭/nvr的   裝置資訊、rtsp播放地址、回放、以及雲臺控制,如:rtsp://192.168.15.240:554/Streaming/Channels/2?transportmode=unicast   可以在如vlc播放器中播放

    可以通過ffmpeg+nginx-rtmp-module/srs/ZLMediaKit/Monibuca 串流媒體服務轉換成m3u8格式,實現在web播放

 3、使用gb28181實現(功能齊全,相容實現外網方案)

        可以取到區域網內攝像頭/nvr的   裝置資訊、以及雲臺控制、回放、以及原始碼流

         用到服務:sip服務+nginx-rtmp-module/srs/ZLMediaKit/Monibuca 串流媒體服務,操作方法如下:

        (c# / java / c++ / go)我寫的gb28181用法的文章如下:       

         https://blog.csdn.net/qq_16005627/article/details/106156444

         https://blog.csdn.net/qq_16005627/article/details/105714572

 

4、通過第三方的有償付費協定,如海康的ehome平臺,阿里雲的「視訊監控」服務,也可以實現

 

 

二、需要在外網檢視視訊監控的方案

外網方案需要考慮到網速問題

1、使用ffmpeg推rtsp流 

準備:攝像機/NVR、部署在原生的ffmpeg主機、部署在雲的串流媒體伺服器Centos(nginx-rtmp-module/srs/ZLMediaKit/Monibuca)

參考 上文 中 在區域網內檢視視訊監控的方案 獲取rtsp地址

  1.1 、使用rtsp協定可以存取nvr/攝像頭的直播地址,把播放地址整理出來

             如:rtsp://admin:123456@192.168.1.151/h264/ch33/main/av_stream

    1.2、 在本地跟攝像機/NVR在同一個區域網內,部署ffmpeg主機,並進行推流

             ffmpeg  -i rtsp://admin:123456@192.168.1.151/h264/ch33/main/av_stream -c:v libx264 -f flv rtmp://12.68.18.172/live/livestream

             其中:12.68.18.172  是安裝了nginx-rtmp-module/srs/ZLMediaKit/Monibuca的主機

             vlc播放地址:rtmp://12.68.18.172/live/livestream(或轉成m3u8 在web中可以播放)

 

2、使用gb28181協定推ps流(功能全,最經濟方案)

準備:支援gb28181的攝像機/NVR、部署在雲端的sip服務、部署在雲的串流媒體伺服器Centos(nginx-rtmp-module/srs/ZLMediaKit/Monibuca)

流程如下:

  2.1 、設定好裝置的SIP服務

  2.2、啟動SIP服務,串流媒體服務

  2.3、通過後臺執行sip指令,裝置可以推流到串流媒體伺服器,sip也可以獲取裝置資訊,雲臺操作,回放等

  2.4、串流媒體伺服器接收到流後,可以進行轉碼並輸出rtmp/m3u8等播放格式,可以在vlc或者在web等其它播放器播放,也可以進行錄影,截圖等操作

        (c# / java / c++ / go)具體操作可以檢視我寫的gb28181用法的文章如下:

         https://blog.csdn.net/qq_16005627/article/details/106156444

         https://blog.csdn.net/qq_16005627/article/details/105714572

3、通過第三方的有償付費協定,如海康的ehome平臺,阿里雲「視訊監控」服務,也可以實現

 

覺得有用的同學,請幫忙點個贊!!