问题出现背景
- 本机ip为192.168.0.94,部署wvp前后端。 两台测试服务器 192.168.0.144 和 192.168.0.252分别部署了一套zlmediakit
- 摄像头连接wvp服务内的sip,然后wvp请求zlm服务来获取视频流。wvp修改配置文件,将media地址改为252的时候,链接正常,但是,将地址改为144并重新启动的时候会报错,无法正常播放。
- 清理数据库、redis,依旧无法解决。
修改配置文件,甚至二者一模一样,没有任何变化。
问题出现原因
摄像头会将连接信息通过wvp服务存入zlm服务。这时通过/index/api/getRtpInfo接口可以查到连接信息
{ "code": 0, "exist": true, "identifier": "34020000001320000001_34020000001320000001", "local_ip": "192.168.0.97", "local_port": 30002, "peer_ip": "192.168.0.220", "peer_port": 15060
220是摄像头的ip。可以看到,ZLM和摄像头是绑定的。
这时如果查询另一个ZLMediakit服务,会返回如下消息:
{ "code": 0, "exist": false }
在第一个ZLM服务释放这个rtp流之前,第二个ZLM服务器是无法绑定的,这就是出现上述问题的原因。
解决办法
- 摄像头断电,大概30秒后,第一个ZLM服务会断开与摄像头的连接。然后再通电,摄像头会通过配置里的的sip的ip地址,指向的wvp服务,然后链接当前wvp服务对应的media服务,也就是新的ZML服务,就可以正常换绑了
- 直接关闭第一个ZML服务。后台会自动断开所有的链接
1 条评论
新盘 上车集合 留下 我要发发 立马进裙