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

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

基于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 本身是一个完整的视频平台,实现了国标 28181 协议,ZLMediaKit 为其提供国标 28181 的媒体部分实现以及各种视频流格式的分发支持。要将它们配置到公网环境,可按以下步骤进行: ### 网络环境准备 需要有公网 IP 地址,若没有固定公网 IP,可使用动态域名解析服务(DDNS)。同时,要确保服务器的防火墙开放必要的端口,如 ZLMediaKit 常用的端口 1935(RTMP)、28080(HTTP)、8554(RTSP)、10000(UDP 和 TCP)、30000 - 30500(UDP)等。 ### ZLMediaKit 公网配置 #### 1. 安装部署 可使用 Docker 进行安装部署,示例命令如下: ```bash docker run -d -p 1935:1935 -p 28080:80 -p 8554:554 \ -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp \ -p 30000-30500:30000-30500 -p 30000-30500:30000-30500/udp \ --name zlmediakit \ --ip 172.16.4.13 \ --restart=always \ --env MODE=standalone \ -e TZ="Asia/Shanghai" \ -v /opt/aiot/var/zlmediakit/media/bin:/opt/media/bin \ -v /opt/aiot/var/zlmediakit/media/conf:/opt/media/conf \ zlmediakit/zlmediakit:master ``` 此命令将 ZLMediaKit 容器化运行,并映射了必要的端口,同时挂载了配置文件和二进制文件目录。 #### 2. 配置文件修改 进入 ZLMediaKit 的配置文件目录(挂载的 `/opt/aiot/var/zlmediakit/media/conf`),修改 `config.ini` 文件,确保 `general` 部分的 `extern_ip` 配置为公网 IP 地址或动态域名解析的域名,示例如下: ```ini [general] extern_ip = your_public_ip_or_domain ``` ### WVP - PRO 公网配置 #### 1. 部署 WVP - PROWVP - PRO 部署到服务器上,可参考相关的部署文档进行操作。 #### 2. 配置文件修改 修改 WVP - PRO 的配置文件,确保其能正确连接到公网环境下的 ZLMediaKit。通常需要修改 `application.yml` 或 `application.properties` 文件,配置 ZLMediaKit 的地址和端口,示例如下: ```yaml # application.yml wvp: media: server: ip: your_public_ip_or_domain port: 28080 ``` ### 端口映射与防火墙设置 在路由器或防火墙中进行端口映射,将公网 IP 的相应端口映射到服务器的内部 IP 和端口。同时,确保服务器的防火墙允许这些端口的流量通过。 ### 测试与验证 完成上述配置后,可通过公网 IP 或动态域名解析的域名访问 WVP - PROZLMediaKit 的管理界面,验证是否能正常访问。同时,可尝试推流和拉流操作,检查视频流是否能正常传输。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

BIMCC筑云

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

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

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

打赏作者

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

抵扣说明:

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

余额充值