近期接到客户反馈,接入到青柠视频云平台的海康摄像头无法进行语音对讲,于是我们对问题进行了排查分析。经过测试,确实不能语音对讲,点击语音对讲按钮,也没有任何反映,音频设备又是正常拾音的。
客户是部署在公网上,而且也和客户沟通了,设备是支持语音对讲的,于是我们通过跟踪分析,发现客户设备栏的流传输模式是UDP。
我们修改成TCP被动模式之后,设备还是不能对讲。
通过抓包分析,发现语音对讲信令都是正常的,报文交互也是标准的国标报文。
既然信令是正常的,那就抓包看下是否有音频流发送给设备,但是抓包下来,没有rtp包发送给设备。
我们打开摄像头配置界面,检查一下配置信息,发现设备有一栏叫“启用TCP广播”没有开启,于是我们手动将它开启之后,再次测试,发现可以语音对讲了。
问题解析:因为公网上进行语音对讲,海康摄像头是没有固定ip的,而且接收端口和发送端口不是同一个,因此只能使用TCP被动方式进行对讲,除了设备本身支持语音对讲以为,还需要开启“启用TCP广播”,如果没有这一选项,那说明设备不支持公网对讲,只能在局域网内进行了。