基于ZLMediaKit的wvp-pro网络视频平台部署

本文详细介绍了如何使用ZLMediaKit构建高性能的网络视频平台WVP-PRO,包括Docker部署步骤、自定义编译ZLMediaKit以及WVP-PRO的配置,特别提到了跨域配置的修正。

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

基于ZLMediaKit的wvp-pro网络视频平台部署

介绍

ZLMediaKit是一个开源的多媒体流媒体服务器,使用C++编写,提供高性能、低延迟的流媒体解决方案。它设计用于处理各种多媒体协议,如RTMP、HLS、HTTP-FLV等。ZLMediaKit提供了直播流、点播(VOD)、HTTP API、WebSocket支持等功能。它通常用于构建流媒体平台、视频会议系统、IP摄像头和其他实时多媒体应用程序。

WVP-PRO基于GB/T 28181-2016标准实现的流媒体平台,依托优秀的开源流媒体服务ZLMediaKit,提供完善丰富的功能。

安装步骤

安装ZLMediaKit

docker安装

ZLMediaKit 提供了docker镜像,可以方便地部署在Docker上。首先,需要安装Docker。然后,使用以下命令拉取ZLMediaKit的docker镜像:

docker run -id -p 1935:1935 \ 
-p 8080:80 -p 8443:443 -p 8554:554 \
-p 10000:10000 -p 10000:10000/udp \
-p 8000:8000/udp -p 9000:9000/udp \
zlmediakit/zlmediakit:master

注意:docker部署是可以将ZLMediaKit的config与log目录挂载到宿主机上,这样就可以在宿主机上方便修改配置文件了与查看运行日志。

docker run -id -p 1935:1935 \
-p 8080:80 -p 8443:443 -p 8554:554 \ 
-p 10000:10000 -p 10000:10000/udp \ 
-p 8000:8000/udp -p 9000:9000/udp \ 
-v /path/to/config:/opt/media/conf \
-v /path/to/log:/opt/media/bin/log \
zlmediakit/zlmediakit:master
编译ZLMediaKit

同时可以自己编译ZLMediaKit,具体步骤参考ZLMediaKit官方文档

但是要注意的是部分Linux操作系统(如:centos7等) cmake版本过低,需要升级cmake版本。这里推荐使用python的包管理工具pip来升级你的cmake版本

升级指定的版本

sudo pip install --upgrade cmake==3.9.6

或者升级到最新版本

sudo pip install --upgrade cmake

wvp-pro编译

wvp-pro是基于ZLMediaKit开发的流媒体平台,需要先部署ZLMediaKit。然后,将wvp-pro的代码克隆到本地,并按照wvp-pro的文档编译。

wvp-pro配置

wvp-pro的配置参考官方文档,其中需要注意的是:

  • 在配置与ZLMediaKit的相关的参数
#zlm 默认服务器配置
media:
    # ZLMediaKit的服务ID,来自与ZLMediaKit的config参数 mediaServerId
    id: FQ3TF8yT83wh5Wvz
    # [必须修改] zlm服务器的内网IP,与ZLMediaKit无法通信时可使用公网ip
    ip: 192.168.1.3
    # [可选] ZLMediaKit的config参数 secret
    secret: awDouLu0JBy4HHvkGNcQMQSGcfv2TgSC
  • 前后端分离部署,跨域配置时,官方文档有误
user-settings:
# 跨域配置,配置你访问前端页面的地址即可, 可以配置多个
allowed-origins:
 - http://xxx.com:8008
 - http://11.11.11.11:8008

注意修改为:

# [根据业务需求配置]
user-settings:
  # 跨域配置,配置你访问前端页面的地址即可, 可以配置多个
  allowed-origins:
    - http://xxx.com:8008
    - http://11.11.11.11:8008

最终部署结果如下

请添加图片描述
请添加图片描述

### WVP-Pro 与 ZLM 连接配置 为了实现 WVP-Pro 和 ZLM (ZLMediaKit) 的连接,需完成以下几个方面的设置: #### 配置文件调整 WVP-Pro 使用 `application.yml` 文件作为主要配置文件。如果开发环境中有多个配置文件(如 `application-dev.yml`),可以通过复制的方式将其重命名为默认加载的配置文件名 `application.yml`[^1]。 以下是典型的 `application.yml` 中涉及 ZLM 媒体服务器的部分配置项: ```yaml server: port: 8088 zlm: enable: true ip: 127.0.0.1 httpPort: 8089 wsPort: 5700 rtmpPort: 1935 pullStreamTimeoutSecs: 60 ``` 上述配置说明如下: - **enable**: 是否启用 ZLM 支持。 - **ip**: ZLMediaKit 所运行的服务 IP 地址。 - **httpPort**: ZLM 提供 HTTP 接口监听的端口号,默认为 8089。 - **wsPort**: WebSocket 协议使用的端口号,默认为 5700。 - **rtmpPort**: RTMP 协议支持的端口号,默认为 1935。 - **pullStreamTimeoutSecs**: 拉流超时时间,单位秒。 以上参数均需要根据实际部署情况修改,特别是当 ZLM 不在同一台机器上运行时,应将 `ip` 替换为目标主机的实际地址。 --- #### 启动服务 在完成配置后,通过命令行启动 WVP-Pro 服务: ```bash java -jar wvp-pro-2.7.0-02250919.jar ``` 此时浏览器访问 URL (`http://<wvp-server-ip>:8088`) 可验证服务是否正常启动[^3]。 对于 ZLMediaKit,则按照其官方文档中的方法编译并启动服务。通常情况下,只需执行以下命令即可快速测试: ```bash ./media_server ``` --- #### 录像功能集成 WVP-Pro 辅助录像程序 `wvp-pro-assist` 是专门设计用于配合 ZLM 实现录像管理的功能模块。该模块可以独立运行并与 ZLM 结合使用,提供录像录制、合并以及下载等功能接口[^2]。 要使两者协同工作,除了基础网络连通性和配置一致性外,还需确认以下几点: - 确保 ZLM 已开启录像存储路径及相关权限; -WVP-Pro 的 API 调用中指定正确的媒体源 ID 或通道号; - 如果存在跨域请求场景,建议检查 CORS 设置以允许前端页面调用后台接口。 --- #### 故障排查提示 若发现无法建立连接或者视频流播放异常,请依次检查下列事项: 1. 网络可达性:Ping 测试目标设备之间的通信状态。 2. 端口开放状况:确保所有必需的服务端口未被防火墙阻断。 3. 日志记录分析:查看 WVP-ProZLMediaKit 的日志输出寻找错误线索。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BIMCC筑云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值