wvp和zlm的关系

一、wvp是什么?

wvp是一个开源的国际视频平台,他不能自己直接处理视频图像,只能发号命令,是处理所以的sip命令,比如:摄像头的注册,心跳,目录查询,上级平台的关联。

二、zlm是什么?

zlm全称zlmediakit,它是一个基于C++开发的一个流媒体服务器,主要用来干一些“脏活“,也就是处理视频流。当有人要看视频时,摄像头会把视频流推送个它,它会把视频流转换成网页能看的流播放格式,然后返回给网页的视频播放器。

三、wvp和zlm之间的关系?

1.设备注册:摄像头通过SIP想wvp注册,wvp会记录下它的IP和ID。

2.用户点播:当你在网页上点击播放时。

3.大脑下令:wvp通过http请求呼叫zlm,告诉它,快去那个摄像头拉流。

4.肌肉记忆:zlm通过指令去摄像头那边拉流。

5.回流通知:拉到数据流后进行受流。通过webhoot通知wvp我已经拉到流了,流地址是什么。

6.前端播放:wvp把这个地址放个网页,网页直接连接上zlm进行播放

四、上下级平台直接的关联

每一个wvp平台,都可以做上级平台或者下级平台,因为wvp的本身是一个双向代理的,意味着,一个wvp的实列内部,同时运行有两套逻辑,一套服务器逻辑,处理下级连接,一套客户端逻辑,处理上级连接。

五、遇见的问题(欢迎评论区讨论)

1、当为下级平台时,如果都配置完上级平台的配置信息后,如果没有将本平台的通道信息进行共享,那么上级平台还是获取不到下级平台的通道信息,这种情况,只会出现抓包时,能获取到心跳正常、连接正常,但是获取通道信息时,一直时空的问题。

2、当为上级平台时,如果下级平台没有共享通道时,不管使用的时主动订阅方式(SUBSCRIBE)还是上级主动查询Catalog(MESSAGE)的方式,都没法获取到通道信息。所以这两个关键词,也可以在抓包的日志中去判断是上级平台的问题还是下级平台的问题。

抓包命令:sudo tcpdump -i any -nn -s0 -w /tmp/gb_$(date +%H%M%S).pcap host 下级平台ip,抓取差不多五到十分钟,直接去找这个文件/tmp/gb_$(date +%H%M%S).pcap