使用 GB28181.Solution + ZLMediaKit + MediaServerUI 进行摄像头推流和播放
使用?GB28181.Solution?+?ZLMediaKit?+?MediaServerUI?進行攝像頭推流和播放
獨立觀察員 2020 年 8 月 25 日
一、攝像機 GB28181 配置
打開 國標 28181 配置頁面,勾上 “接入使能”:
?
打鉤的是重要的配置信息,主要就是?SIP?服務(wù)器的信息和攝像頭自己的編號、端口等信息。?
?
二、SIP?服務(wù)器?GB28181.Solution
項目地址:https://gitee.com/DLGCY_GB28181/GB28181.Solution
(注:本文給出的項目地址如果是克隆的,頁面上會有 Fork 信息或者原地址,不再單獨列出)
?
使用的是 GB28181.WinTool 這個測試程序:
?
配置特寫:
?
使用流程:使用 VS 打開解決方案,修改好配置信息后,直接運行 GB28181.WinTool 項目,先點擊啟動,等待攝像頭發(fā)來注冊信息和心跳信息,然后點擊目錄查詢,點擊出現(xiàn)的設(shè)備,最后點擊 “直播視頻” 即可。
?
程序向攝像頭發(fā)送直播指令(INVITE)后,就是攝像頭直接向流媒體服務(wù)器以?RTP?協(xié)議發(fā)送 PS 數(shù)據(jù)流了:?
?
三、流媒體服務(wù)器?ZLMediaKit
項目地址:https://gitee.com/DLGCY_GB28181/ZLMediaKit
?
注意:如要克隆本倉庫,還需克隆作為子模塊的另外兩個倉庫 ———— ZLToolKit 和 media-server :
?
1、編譯項目
由于這個是 C++ 項目,所以我們要給 VS 安上 C++ 開發(fā)的工作負載:
?
由于這個是?CMake?形式的項目,所以沒有解決方案文件(.sln), 我們需要使用打開文件夾的方式:
?
打開后,我們在?CMakeLists.txt 上右鍵,先生成緩存,成功之后再生成:
?
這樣在相關(guān)目錄就生成了配置文件 config.ini 和可執(zhí)行程序?MediaServer.exe:
?
2、配置和運行
實際上也不需要怎么配置,就是如果運行起來發(fā)現(xiàn)端口被占用的話,改一下就行了。
說說后面會用到的兩個端口吧,一個是 RTP 的端口,在 rtp_proxy 節(jié)點下:
?
還有一個是 http 端口,后面播放視頻要用到:
?
配置完之后雙擊?MediaServer.exe 就能啟動了:
(感覺這些提示信息不夠明確)
?
四、觀看視頻
我們點擊 GB28181.WinTool 的 “直播視頻” 后,攝像頭就開始推流到 MediaServer 了:
?
來個特寫:
?
我們看到出現(xiàn)了攝像頭的地址,同時還不斷看到一串編碼 ID,我們拿這個 ID 就能播放視頻了。
那么具體的視頻地址是什么呢?作者倒是給出了解析方法:https://github.com/xia-chu/ZLMediaKit/wiki/ 播放 url 規(guī)則?
?
協(xié)議支持 rtsp、rtsps、rtmp、rtmps、http、https、ws、wss,我們這里用?http?協(xié)議測試。
虛擬主機我們選用 IP,我這里是?192.168.16.120。
端口號由于我們選用 http 協(xié)議,而之前配置的是?801。
應(yīng)用名我暫時還不知道怎么來的,這里應(yīng)該是?rtp。
流 ID 是?24A4FFCC。
所以最終直播視頻地址為:http://192.168.16.120:801/rtp/24A4FFCC.flv 或 http://192.168.16.120:801/rtp/24A4FFCC/hls.m3u8 。
?
地址有了,我們還需要播放器,需要支持播放流媒體的播放器,推薦使用 PotPlayer。
運行后依次點擊 “打開”–“打開鏈接”:
?
然后填入地址(我重新打開過了,流 ID 變了),點擊確定即可播放。
?
播放效果:
?
flv 地址的也是一樣:
?
五、ZLMediaKit 的管理網(wǎng)站??MediaServerUI
項目地址:https://gitee.com/DLGCY_GB28181/MediaServerUI
(使用普通分支即可,無需使用 GB28181 分支)
?
這是一個 Vue 項目,可參考《搭建一個 VUE 項目》進行環(huán)境搭建。
?
運行(1、cnpm install ?2、cnpm run serve):
?
界面:
?
視頻播放:
?
(感覺這個網(wǎng)站比較卡)
?
總結(jié)
以上是生活随笔為你收集整理的使用 GB28181.Solution + ZLMediaKit + MediaServerUI 进行摄像头推流和播放的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从零开始内建你的安全测试流程
- 下一篇: 将 .NET Framework 项目转