本文档以ubuntu22.04为例
WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的网络视频平台,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR、DVR接入。支持国标级联,支持rtsp/rtmp等视频流转发到国标平台,支持rtsp/rtmp等推流转发到国标平台。
图片
图片
图片
图片
安装依赖
安装cmake gcc openssl git g++
apt-get update
apt-get install cmake gcc openssl git libssl-dev build-essential
安装libsrtp
cd /home
curl -LO https://github.com/cisco/libsrtp/archive/refs/tags/v2.5.0.tar.gz
tar -zxvf v2.5.0.tar.gz
cd libsrtp-2.5.0
./configure
make &&sudo make install
编译ZLMeidaKit
cd /home
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
git submodule update --init
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j4
cd /home/ZLMediaKit/release/linux/Release
vim config.ini
公网部署时,将http.allow_ip_range的值留空
复制api.secret的值
修改http.port的值为6080
修改general.mediaServerId的值为H5NVR
#以守护进程模式运行并输出为空
./MediaServer -d >/dev/null 2>&1 &
下载Release 版本ffmpeg
cd /home
wget https://johnvansickle.com/ffmpeg ... amd64-static.tar.xz
tar -xvf ffmpeg-release-amd64-static.tar.xz
ln -s /home/ffmpeg-6.1-amd64-static/ffmpeg /usr/bin/ffmpeg
ln -s /home/ffmpeg-6.1-amd64-static/ffprobe /usr/bin/ffprobe
安装node
cd /home
wget https://npmmirror.com/mirrors/no ... .2-linux-x64.tar.xz
tar -xvf node-v14.17.2-linux-x64.tar.xz
mv node-v14.17.2-linux-x64 /usr/local/nodejs
ln -s /usr/local/nodejs/bin/node /usr/bin/node
ln -s /usr/local/nodejs/bin/npm /usr/local/bin
npm config set registry https://registry.npmmirror.com
npm config list
#验证是否安装成功
node -v
npm -v
安装jdk
cd /home
apt install openjdk-11-jre
#验证是否安装成功
java --version
安装maven
cd /home
wget https://archive.apache.org/dist/ ... en-3.8.4-bin.tar.gz
tar -xvf apache-maven-3.8.4-bin.tar.gz
mkdir /usr/local/maven
mv apache-maven-3.8.4 /usr/local/maven/apache-maven-3.8.4
vim /etc/profile
MAVEN_HOME=/usr/local/maven/apache-maven-3.8.4
export PATH=${MAVEN_HOME}/bin {PATH}
source /etc/profile
#验证
mvn –v
编译前端页面
cd /home
git clone https://github.com/scdn/wvp-GB28181-pro.git
#编译静态页面
cd wvp-GB28181-pro/web_src/
npm --registry=https://registry.npmmirror.com install
npm run build
#编译如果报错, 一般都是网络问题, 导致的依赖包下载失败
#编译完成后在src/main/resources下出现static目录
#打包项目, 生成可执行jar
cd ..
mvn package
安装redis
apt-get install redis
安装mysql8并导入数据
cd /home/wvp-GB28181-pro/数据库
apt-get install mysql-server
#设置密码
mysql -u root -p
mysql> use mysql ;
mysql> UPDATE user SET host = '%' WHERE user ='root';
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'THIS_IS_YOUR_MYSQL_PASSWORD';
mysql> FLUSH PRIVILEGES;
mysql> CREATE DATABASE wvp;
mysql> use wvp;
mysql> source 初始化-mysql.sql;
mysql> exit;
修改配置
cd /home/wvp-GB28181-pro/src/main/resources
mv all-application.yml ../../../target/application.yml
cd ../../../target/
vim application.yml
修改datasource.password为mysql的root密码
修改sip.ip填写0.0.0.0
修改media.id为H5NVR
修改media.http.port为6080
media.secret填写在zlm中复制的api.secret的值
media.ip和media.hook-ip填写服务器内网ip
公网部署时,media.stream-ip和media.sdp-ip填写服务器公网ip
防火墙放行端口
30000-30500/udp,6080tcp/udp,8000/tcp,9000/tcp,5060tcp/udp,18080/tcp,1935/tcp,554/tcp,443/tcp
运行
cd /home/wvp-GB28181-pro/target/
#常规运行,请将*替换成编译生成的文件名,下同
java -jar wvp-pro-*.jar --spring.config.location=application.yml
#不回显后台运行
nohup java -jar wvp-pro-*.jar --spring.config.location=application.yml >/dev/null 2>&1 &
使用systemd
在 Linux 系统下,使用 systemd 可以方便地控制服务端的启动、停止、配置后台运行以及开机自启动。
安装systemd
apt-get install systemd
创建wvp.service文件并写入内容
vim /etc/systemd/system/wvp.service
[Unit]
Description=wvp
[Service]
Environment=" ATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin"
ExecStart=/usr/bin/java -jar /home/wvp-GB28181-pro/target/wvp-pro-*.jar --spring.config.location=/home/wvp-GB28181-pro/target/application.yml
StandardOutput=null
[Install]
WantedBy=multi-user.target
创建zlm.service文件并写入内容
vim /etc/systemd/system/zlm.service
[Unit]
Description=zlm
[Service]
ExecStart=/home/ZLMediaKit/release/linux/Release/MediaServer
StandardOutput=null
[Install]
WantedBy=multi-user.target
使用systemd管理wvp和zlm
#启动wvp
systemctl start wvp
#停止wvp
systemctl stop wvp
#重启wvp
systemctl restart wvp
#查看wvp状态
systemctl status wvp
#wvp开机自启动
systemctl enable wvp
#启动zlm
systemctl start zlm
#停止zlm
systemctl stop zlm
#重启wvp
systemctl restart zlm
#查看zlm状态
systemctl status zlm
#zlm开机自启动
systemctl enable zlm
|