docker部署wvp+zlmediakit

一、wvp

1.docker部署

这里WVP_IP、相关端口号根据情况修改,MEDIA_SDP_IP、MEDIA_STREAM_IP为zlmediakit的IP

docker run  --env WVP_IP=172.16.180.134 -e MEDIA_SDP_IP=172.16.10.39 -e MEDIA_STREAM_IP=172.16.10.39 -it -p 18080:18080 -p 30000-30500:30000-30500/udp -p 30000-30500:30000-30500/tcp -p 80:80 -p 5060:5060 -p 5060:5060/udp --name wvp wangwuli/wvp:2.7.1-2024110702
http://127.0.0.1:8888/lab?token=c85804158d3315f1869fed7e7eb073e9d8ed0fac65618468
       

2.相关配置文件

docker exec -it wvp /bin/bash
vim config/application.yml     #进入容器修改配置文件
docker cp wvp:/opt/wvp/config tmp/  #或者先复制到本地,修改后在复制回去
# [可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
server:
    port: 18080

# 作为28181服务器的配置
sip:
    # [必须修改] 本机的IP,对应你的网卡,监听什么ip就是使用什么网卡,
    # 如果要监听多张网卡,可以使用逗号分隔多个IP, 例如: 192.168.1.4,10.0.0.4
    # 如果不明白,就使用0.0.0.0,大部分情况都是可以的
    # 请不要使用127.0.0.1,任何包括localhost在内的域名都是不可以的。
    ip: ${WVP_HOST:0.0.0.0}
    # [可选] 28181服务监听的端口
    port: ${WVP_PORT:5060}
    # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)
    # 后两位为行业编码,定义参照附录D.3
    # 3701020049标识山东济南历下区 信息行业接入
    # [可选]
    domain: ${WVP_DOMAIN:4401020049}
    # [可选]
    id: ${WVP_ID:44010200492000000001} 
    # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验
    password: ${WVP_PWD:admin123}

#zlm 默认服务器配置
media:
    # [必须修改] zlm服务器唯一id,用于触发hook时区别是哪台服务器,general.mediaServerId
    id: 1tT2oWdyDhLAzx7Q20241107
    # [必须修改] zlm服务器的内网IP
    ip: ${ZLM_HOST:127.0.0.1}
    # [必须修改] zlm服务器的http.port
    http-port: ${ZLM_PORT:80}
    # [可选] zlm服务器的hook.admin_params=secret
    secret: OHvo86N9Ww6V8mHPWMisxNgkb8dvqAV420241107
    # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试
    rtp:
        # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输
        enable: true
        # [可选] 在此范围内选择端口用于媒体流传输,
        port-range: 20000,20500 # 端口范围
        # [可选] 国标级联在此范围内选择端口发送媒体流,
        send-port-range: 20000,20500 # 端口范围
    # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用
    record-assist-port: 18081
    sdp-ip: ${MEDIA_SDP_IP}
    stream-ip: ${MEDIA_STREAM_IP}

# [根据业务需求配置]
user-settings:
    # 推流直播是否录制
    record-push-live: false
    record-sip: false
    auto-apply-play: true

上面是原配置文件,下面是一些需要修改的地方,其他如端口号,使用默认值即可,如需修改要保持wvp与zlm一致

media:
    id: zlm1    					#与ZLMediaKit配置文件中general.mediaServerId保持一致
    ip: ${ZLM_HOST:172.16.10.39}    #与ZLMediaKit内网IP保持一致
    # [可选] zlm服务器的hook所使用的IP, 默认使用sip.ip
    hook-ip: 172.16.180.134			#wvp本机IP,原配置文件没有该属性,默认是127.0.0.1,我是wvp与zlm配置在不同服务器,所以需要加上
    http-port: ${ZLM_PORT:8080}   	#与ZLMediaKit访问端口保持一致
    secret: icetc					#与ZLMediaKit配置文件中api.secret保持一致
    
    sdp-ip: ${MEDIA_SDP_IP}			#wvp在国标信令中使用的ip,此ip为摄像机可以访问到的ip,默认使用 media.ip
    stream-ip: ${MEDIA_STREAM_IP}	#返回流地址时的ip,默认使用 media.ip

二、ZLMediaKit

1.docker部署

docker run -d -p 1935:1935 -p 8080:80 -p 8554:554 -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp --name zlmediakit zlmediakit/zlmediakit:master

2.相关配置文件

docker exec -it zlmediakit/bin/bash
 vim ../conf/config.ini     #进入容器修改配置文件

修改这些,其他使用默认值

[api]
secret=icetc

[general]
mediaServerId=zlm1

三、测试

1.zlm前端展示

在这里插入图片描述

2.摄像头配置

在这里插入图片描述

3.wvp前端展示

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.wvp点播流程

在这里插入图片描述
注册流程描述

  1. 用户从网页或调用接口发起点播请求;
  2. WVP-PRO向摄像机发送Invite消息,消息头域中携带 Subject字段,表明点播的视频源ID、发送方媒体流序列号、ZLMediaKit接收流使用的IP、端口号、 接收端媒体流序列号等参数,SDP消息体中 s字段为“Play”代表实时点播,y字段描述SSRC值,f字段描述媒体参数。
  3. 摄像机向WVP-PRO回复200OK,消息体中描述了媒体流发送者发送媒体流的IP、端口、媒体格式、SSRC字段等内容。
  4. WVP-PRO向设备回复Ack, 会话建立成功。
  5. 设备向ZLMediaKit发送实时流。
  6. ZLMediaKit向WVP-PRO发送流改变事件。
  7. WVP-PRO向WEB用户回复播放地址。
  8. ZLMediaKit向WVP发送流无人观看事件。
  9. WVP-PRO向设备回复Bye, 结束会话。
  10. 设备回复200OK,会话结束成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值