使用SIP(wvp)+流媒體服務器(ZLMediaKit)實現gb28181 rtp推流及播放,實現通過gb28181來進行攝像頭監控播放,雲臺控制體驗案例!
準備內容
1、操作系統環境,我這裏用的是阿里雲centos 7.7
2、海康雲臺攝像頭一個,NVR一個
3、環境具體cmake 3.1.3條件,ZLMediaKit構建需要用到
4、下載用於sip的java的開源項目WVP
5、下載redies用於支撐sip服務
6、下載流媒體服務器ZLMediaKit
操作步驟如下:
一、安裝cmake版本3.1.3以上
安裝方法來源:https://www.cnblogs.com/zychengzhiit1/p/5628711.html
安裝編譯源碼所需的工具和庫
yum install gcc gcc-c++ ncurses-devel perl
下載cmake
wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz
將tar.gz 移動到 /usr/local/目錄下
解壓,並查看:
tar zxvf cmake-3.3.2.tar.gz
cd cmake-3.3.2
ls 查看
編譯並安裝
./configure
make
make install
設置全局變量
用vi在文件/etc/profile文件中增加變量,使其永久有效:
vi /etc/profile // 修改環境變量
在文件末尾追加以下兩行代碼:
PATH=/usr/local/cmake/bin:$PATH
export PATH
然後執行以下操作:
source /etc/profile //使修改生效
echo $PATH //查看PATH值
檢查cmake 安裝
cmake --version
二、安裝ZLMediaKit
開源地址:https://github.com/linyihong-git/ZLMediaKit
#國內用戶推薦從同步鏡像網站gitee下載
git clone --depth 1 https://gitee.com/xiahcu/ZLMediaKit
cd ZLMediaKit
git submodule update --init
構建和編譯項目
在linux或macOS系統下,你應該這樣操作:
cd ZLMediaKit
mkdir build
cd build
#macOS下可能需要這樣指定openss路徑:cmake .. -DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2j/
cmake ..
make -j4
在linux下啓動:
cd ZLMediaKit/release/linux/Debug
#通過-h可以瞭解啓動參數
./MediaServer -h
#以守護進程模式啓動
./MediaServer -d &
三、redies安裝
參考:https://www.cnblogs.com/autohome7390/p/6433956.html
需要把bind 127.0.0.1 改成bind 0.0.0.0,外網才能訪問
四、下載SIP項目源代碼
開源地址:https://github.com/swwheihei/wvp
修改配置文件參數,運wvp項目
五、推流及播放
配置好攝像頭的gb28181參數及sip地址,SIP ID
1、推流執行
http://127.0.0.1:8080/api/play/34020000001110000001/78978201001320000025
返回ssrc{"ssrc":"0200004754"}
ssrc轉換爲16進行後=0BEBD193
查看zlmk推流情況
播放地址在vlc播放如下:
rtsp://147.15.1.118:554/rtp/0BEBD4F4?token=abcdefg&field=value
rtmp://147.15.1.118/rtp/0BEBD4F4
http://147.15.1.118/rtp/0BEBD4F4.flv
http://147.15.1.118/rtp/0BEBD4F4/hls.m3u8
播放地址的規則如下:
https://github.com/xiongziliang/ZLMediaKit/wiki/%E6%92%AD%E6%94%BEurl%E8%A7%84%E5%88%99
2、雲臺控制執行
zoomSpeed的數字不能太大於,不然運行不了,無效
3、查看流媒體服務器收流情況
http://47.115.1.118/index/api/getMediaList?secret=035c73f7-bb6b-4889-a715-d9eb2d1925cc