编译教程
依赖无法下载或者下载很慢
依赖包在国外网站,无法下载是因为您的网络问题,可尝试先使用下载工具进行下载,然后通过FTP/SFTP等工具上传至服务器
播放提示收流超时
出现这个错误提示,一般都是由于WVP和ZLM的网络不通,主要检测双方的配置是否对应,是否可以互相访问到
1
2wvp配置文件路径:/home/wvp-GB28181-pro/target/application.yml
zlm配置文件路径:/home/ZLMediaKit/release/linux/Release/config.ini
wvp配置图文详解
请确认application.yml中的zlm项中是否有如图几个参数,如果没有,请自行添加
id对应config.ini中的general项的mediaServerId,两者需要完全一致,不能使用中文
如果内网部署,请将ip,stream-ip,sdp-ip,hook-ip均填写为内网ip,内网ip可通过 ifconfig 命令查看
如果公网部署,请将ip和hook-ip填写为内网ip,stream-ip和sdp-ip填写为公网ip,公网ip可通过 curl ip.sb 查看
secret对应id对应config.ini中的api项的secret,两者需要完全一致,不能使用中文
http-port对应id对应config.ini中的http项的port,两者需要完全一致,默认为80
zlm配置图文详解
公网部署时,http项中的allow_ip_range留空,否则会导致流媒体无法访问
检查hook项中的链接是否为内网ip的链接,如为公网请修改(编译安装zlm后,hook默认为空,编译安装wvp后会自动配置,配置后再进行检查)
点播流程详解
以下为WVP-PRO点播流程。点播成功前的任何一个环节出现问题都可能出现点播超时,这也是排查点播超时的依据。
注册流程描述
用户从网页或调用接口发起点播请求;
WVP-PRO向摄像机发送Invite消息,消息头域中携带 Subject字段,表明点播的视频源ID、发送方媒体流序列号、ZLMediaKit接收流使用的IP、端口号、 接收端媒体流序列号等参数,SDP消息体中 s字段为“Play”代表实时点播,y字段描述SSRC值,f字段描述媒体参数。
摄像机向WVP-PRO回复200OK,消息体中描述了媒体流发送者发送媒体流的IP、端口、媒体格式、SSRC字段等内容。
WVP-PRO向设备回复Ack, 会话建立成功。
设备向ZLMediaKit发送实时流。
ZLMediaKit向WVP-PRO发送流改变事件。
WVP-PRO向WEB用户回复播放地址。
ZLMediaKit向WVP发送流无人观看事件。
WVP-PRO向设备回复Bye, 结束会话。
设备回复200OK,会话结束成功。
开启点播
开启点播后,可以提取流媒体固定地址,集成到小程序、网页、APP等
1
2
3
4vim /home/wvp-GB28181-pro/target/application.yml
修改media.rtp.enable为true
修改user-settings.auto-apply-play为true
修改user-settings.stream-on-demand为false
绑定域名并配置https
绑定域名
以阿里云为例,创建A记录,主机记录填写需要绑定的二级域名,记录值填写为服务器公网ip
下载SSL证书
以阿里云为例,创建证书并验证后,等待CA审批后点击下载,选择“其他”
下载后解压,可以得到两个文件,XXX.key和XXX.pem,可通过FTP/SFTP等方式上传至服务器/home目录
zlm配置SSL
合并为zlmediakit支持的证书类型
1
cat XXX.key XXX.pem > zlm.pem
加载证书
1
2
3
4cd /home/ZLMediaKit/release/linux/Release
cp /home/zlm.pem ./
#启动进程,
./MediaServer -s zlm.pem默认https端口为443,如需修改,可编辑config.ini中http项的sslport
wvp配置SSL
1
2
3
4
5
6
7
8
9
10cd /home/wvp-GB28181-pro/target
mkdir resource
cp /home/XXX.key resource/
cp /home/XXX.pem resource/
vim application.yml
修改server.ssh.enabled为true
修改certificate为 /home/wvp-GB28181-pro/target/resource/XXX.pem
修改certificate-private-key为 /home/wvp-GB28181-pro/target/resource/XXX.key
修改media.stream-ip为绑定的域名
如ZLM的ssl端口修改了,请将media. http-ssl-port同步修改
重启ZLM和WVP后,即可实现域名https访问,流媒体链接亦可域名https播放
画面显示花屏
监控画面经常花屏,可以把流传输模式改成“TCP被动模式”,同时,在弱网环境下,配置正常,偶现收流超时,可更换为“TCP被动模式”后再次尝试播放
点播端口分配异常
首先请检查wvp和zlm的配置是否一致,具体可查看播放提示收流超时,然后请确保防火墙的8000tcp端口已经打开,包括服务器系统的防火墙和云服务商的安全策略中的入站规则
前后端分离部署
前端编译后的文件在src/main/resources/static
中,将此目录下的文件部署。 前后端分离部署最大的问题是跨域的解决,当前版本使用JWT生成的TOKEN作为认证凭据, 部署前端后需要在wvp中配置前端访问的地址以完成跨域流程。
配置前端服务器
假如你的服务有公网域名为xxx.com,公网IP为11.11.11.11, 那么你可以在wvp中这样配置:
1
2
3
4
5user-settings:
# 跨域配置,配置你访问前端页面的地址即可, 可以配置多个
allowed-origins:
- http://xxx.com:8008
- http://11.11.11.11:8008
配置不是必须的,你使用哪个ip/域名访问就配置哪个即可。修改配置后重启wvp以使配置生效。
在src/main/resources/static/static/js/config.js
下配置服务器的地址,也就是wvp服务的地址
1
window.baseUrl = "http://xxx.com:18080"
这里的地址是需要客户端电脑能访问到的,因为请求是客户端电脑发起,与代理不同
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/8233.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~