wvp-gb28181-pro和ZLMediakit开发入门笔记——点播流程(三)

本文介绍了wvp-gb28181-pro与ZLMediaKit在实现28181-2016标准下的点播流程,包括网页发起播放请求、媒体服务器与摄像机交互过程以及停止播放的步骤。同时,文中提到了在点播过程中遇到的严重延时问题,可能是由于ZLMediaKit虚拟机资源配置不足导致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本节阐述wvp摄像机点播流程。

28181-2016标准文档中的点播流程

在这里插入图片描述
图中的媒体接收者,SIP服务器,媒体服务器和媒体发送者都是逻辑模块,在实际上可以不按照这样的步骤来完成。媒体发送者是摄像机,而媒体接收者、SIP服务器和媒体服务器是wvp和zlmediakit组成,wvp和zlmediakit内部之间通信并没有按照28181的步骤来,wvp只要实现上图的第4、5、7、19、20就可以播放视频和停止播放。至于网页、wvp跟zlmediakit之间是按照自己的私有接口格式来完成的。

点播流程

1、网页上点击播放,请求发到wvp后台的/vmanager/gb28181/play/PlayController.java,第64行

public DeferredResult<WVPResult<StreamContent>> play(HttpServletRequest request, @PathVariable String deviceId,
														 @PathVariable String channelId)

2、在PlayController.java的121行调用play

### 编写或获取 wvp-GB28181-pro ZLMediaKit 的安装脚本 以下是针对 CentOS 7 平台编写的 `wvp-GB28181-pro` `ZLMediaKit` 的自动化安装脚本。该脚本涵盖了依赖项的安装、服务配置以及启动命令。 #### 脚本内容 ```bash #!/bin/bash # 更新系统并安装基础工具 yum update -y && yum install -y wget git gcc-c++ make autoconf libtool automake pkgconfig zlib-devel openssl-devel pcre-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel maven # 下载并解压 ZLMediaKit 源码 cd /tmp || exit git clone https://github.com/ZLmediakit/MediaServer.git mkdir -p /home/media/zlm/ cp -r MediaServer/* /home/media/zlm/ # 配置 ZLMediaKit 构建环境 cd /home/media/zlm/ || exit ./configure && make -j$(nproc) && make install if [ $? -ne 0 ]; then echo "ZLMediaKit build failed!" exit 1 fi # 创建 ZLMediaKit 配置文件服务单元 cat <<EOF >/home/media/zlm/config.ini [common] log_level = info rtmp_listen = true hls_fragment_sec = 5 hls_playlist_length = 60 http_port = 9000 https_port = 0 rtsp_port = 554 rtc_port_min = 10000 rtc_port_max = 20000 tcp_timeout_ms = 30000 udp_timeout_ms = 30000 max_connections = 10000 enable_http_server = true enable_rtmp_server = true enable_rtsp_server = true enable_rtc_server = false enable_hls = true enable_mp4_record = false record_path = ./media/mp4 snapshot_path = ./media/snapshot EOF cat <<EOF >/etc/systemd/system/zlm.service [Unit] Description=ZLMediaKit After=network.target [Service] Environment="PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin" ExecStart=/home/media/zlm/MediaServer -c /home/media/zlm/config.ini StandardOutput=null Restart=on-failure [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable zlm systemctl start zlm # 下载并解压 wvp-GB28181-pro 源码 cd /opt || exit wget https://example.com/path/to/wvp-GB28181-pro-latest.zip unzip wvp-GB28181-pro-latest.zip -d video mv video/* wvp rm -rf video # 配置 wvp 开发环境 cd /opt/video/wvp || exit mvn clean package -DskipTests=true if [ $? -ne 0 ]; then echo "Maven build for WVP failed!" exit 1 fi # 创建 wvp 服务单元 cat <<EOF >/etc/systemd/system/wvp.service [Unit] Description=wvp After=network.target [Service] Environment="PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin" ExecStart=/usr/bin/java -jar /opt/video/wvp/wvp-pro.jar --spring.config.location=/opt/video/wvp/application.yml StandardOutput=null Restart=on-failure [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable wvp systemctl start wvp echo "Installation completed successfully." ``` --- #### 注意事项 上述脚本假设用户已具备以下条件: - 已经下载了 `wvp-GB28181-pro` 的压缩包,并将其放置在指定 URL 中[^1]。 - Java 环境版本为 OpenJDK 1.8,且 Maven 版本兼容项目需求[^2]。 - 所有必要的网络访问权限均已开放,能够正常克隆 Git 仓库下载资源[^3]。 如果执行过程中遇到错误,请逐一排查每一步骤的日志输出。 ---
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值