青柠视频云——记一次大华摄像头公网语音对讲失败的问题分析

今天有客户反馈,使用大华摄像头接入青柠视频云,在公网环境下无法进行语音对讲,用户的设备是支持语音对讲的。

这是用户提供的注册截图,看起来也没什么问题,而且用户摄像头带有拾音功能和外放喇叭。

于是我们联系客户开始进行现场的抓包分析,因为语音对讲是分两个阶段走,一个是信令服务器和摄像头进行SIP信令交互,另一个是通信成功后,流媒体就开始给设备发RTP包,因此我们两边都进行抓包处理。

先来看信令服务器端的抓包内容,以下信令服务器IP部分做了处理。

复制代码
INVITE sip:34020000001370000001@1.204.105.252:21052 SIP/2.0
Call-ID: 53b587a7746e3af62a4792409145055b@0.0.0.0
CSeq: 15 INVITE
From: <sip:52000010102330000001@5200001010>;tag=1726656234184
To: <sip:34020000001370000001@1.204.105.252:21052>
Via: SIP/2.0/UDP xx.xxx.xxx.x:15060;rport
Max-Forwards: 70
Contact: <sip:52000010102330000001@xx.xxx.xxx.x:15060>
Subject: 34020000001370000001:0000109373,52000010102330000001:0
Content-Type: APPLICATION/SDP
User-Agent: LimeGBS v11111
Content-Length: 181

v=0
o=34020000001370000001 0 0 IN IP4 xx.xxx.xxx.x
s=Talk
c=IN IP4 xx.xxx.xxx.x
t=0 0
m=audio 30857 RTP/AVP 8
a=sendrecv
a=rtpmap:8 PCMA/8000
y=0000109373
f=v/a/1/8/1

SIP/2.0 100 Trying
Via: SIP/2.0/UDP xx.xxx.xxx.x:15060;rport=15060;branch=z9hG4bK-323833-f7c57fec761a4b9b5340a856dfddb41a
From: <sip:52000010102330000001@5200001010>;tag=1726656234184
To: <sip:34020000001370000001@1.204.105.252:21052>
Call-ID: 53b587a7746e3af62a4792409145055b@0.0.0.0
CSeq: 15 INVITE
User-Agent: SIP UAS V2.1.4.500306
Content-Length: 0

SIP/2.0 101 Dialog Establishement
Via: SIP/2.0/UDP xx.xxx.xxx.x:15060;rport=15060;branch=z9hG4bK-323833-f7c57fec761a4b9b5340a856dfddb41a
From: <sip:52000010102330000001@5200001010>;tag=1726656234184
To: <sip:34020000001370000001@1.204.105.252:21052>;tag=1097555858
Call-ID: 53b587a7746e3af62a4792409145055b@0.0.0.0
CSeq: 15 INVITE
Contact: <sip:34020000001370000001@1.204.105.252:21052>
User-Agent: SIP UAS V2.1.4.500306
Content-Length: 0

SIP/2.0 200 OK
Via: SIP/2.0/UDP xx.xxx.xx.x:15060;rport=15060;branch=z9hG4bK-323833-f7c57fec761a4b9b5340a856dfddb41a
From: <sip:52000010102330000001@5200001010>;tag=1726656234184
To: <sip:34020000001370000001@1.204.105.252:21052>;tag=1097555858
Call-ID: 53b587a7746e3af62a4792409145055b@0.0.0.0
CSeq: 15 INVITE
Contact: <sip:34020000001370000001@1.204.105.252:21052>
User-Agent: SIP UAS V2.1.4.500306
Content-Type: application/sdp
Content-Length: 266

v=0
o=52000010101320100006 0 0 IN IP4 192.168.1.7
s=Talk
i=VCam Talk Session
c=IN IP4 192.168.1.7
t=0 0
m=audio 9712 RTP/AVP 8
a=recvonly
a=rtpmap:8 PCMA/8000/1
m=audio 9712 RTP/AVP 8
a=sendonly
a=rtpmap:8 PCMA/8000/1
y=0000109373
f=v/0/0/0/0/0a/0/0/0

ACK sip:34020000001370000001@1.204.105.252:21052 SIP/2.0
Call-ID: 53b587a7746e3af62a4792409145055b@0.0.0.0
CSeq: 6 ACK
From: <sip:52000010102330000001@5200001010>;tag=1726656234184
To: <sip:34020000001370000001@1.204.105.252:21052>;tag=1097555858
Via: SIP/2.0/UDP xx.xxx.xxx.x:15060;rport=15060;branch=z9hG4bK-323833-f7c57fec761a4b9b5340a856dfddb41a
Max-Forwards: 70
Contact: <sip:52000010102330000001@8.137.51.116:15060>
User-Agent: LimeGBS v11111
Content-Length: 0

从信令服务器抓取的报文内容来看,没什么问题,都是按照国标标准协议走的。

接下来我们看流媒体端抓取的报文内容,我们将抓到的UDP包转换成RTP包,如下图。

接下来我们开始分析RTP包

从报文反馈的内容来看,平台往设备发送了136个包,设备接收了136个包,丢包率为0,持续时间是13.5秒,这里看下来也没有什么问题。平台正常发包,设备正常接收,不存在丢包的情况。

这里我们怀疑是不是RTP包有问题,是否因为没有声音,所以设备端接收了,但是放出来没有声音?于是接下来我们准备将RTP包回放一下,看是否有声音。

点击下方的Play Streams,这里我们可以看到一些信息反馈。如音频模式是g711a,采样率为8000HZ,而且从上面的图片中也看到了是音频格式是PCMA的。这里看下来也没什么问题,这也是大华设备支持的音频格式。

点击播放之后,如下

RTP流播放的时候,是正常且有声音的,到这里我们就几乎得到定论了,问题出在设备上,可能是格式不对或者设备配置的问题,接下来我们会对设备重新检查一下,看是否和配置以及音频支持程度有关。

相关推荐
】余185381628009 小时前
碰一碰发视频源码搭建与定制化开发:支持OEM
音视频
张晓~1833994812110 小时前
数字人分身+矩阵系统聚合+碰一碰发视频: 源码搭建-支持OEM
线性代数·矩阵·音视频
山登绝顶我为峰 3(^v^)312 小时前
如何录制带备注的演示文稿(LaTex Beamer + Pympress)
c++·线性代数·算法·计算机·密码学·音视频·latex
却道天凉_好个秋17 小时前
音视频学习(三十六):websocket协议总结
websocket·音视频
【余1853816280019 小时前
碰一碰发视频源码搭建定制化开发:支持OEM
音视频
EQ-雪梨蛋花汤19 小时前
【Part 3 Unity VR眼镜端播放器开发与优化】第四节|高分辨率VR全景视频播放性能优化
unity·音视频·vr
菜包eo1 天前
基于二维码的视频合集高效管理与分发技术
音视频
文浩(楠搏万)1 天前
用OBS Studio录制WAV音频,玩转语音克隆和文本转语音!
大模型·音视频·tts·wav·obs·声音克隆·语音录制
aqi001 天前
FFmpeg开发笔记(七十二)Linux给FFmpeg集成MPEG-5视频编解码器EVC
android·ffmpeg·音视频·流媒体
NYFEA1 天前
RTC实时时钟DS1339U-33国产替代FRTC1339M
实时音视频