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

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

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

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

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

复制代码
INVITE sip:[email protected]:21052 SIP/2.0
Call-ID: [email protected]
CSeq: 15 INVITE
From: <sip:52000010102330000001@5200001010>;tag=1726656234184
To: <sip:[email protected]:21052>
Via: SIP/2.0/UDP xx.xxx.xxx.x:15060;rport
Max-Forwards: 70
Contact: <sip:[email protected]: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:[email protected]:21052>
Call-ID: [email protected]
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:[email protected]:21052>;tag=1097555858
Call-ID: [email protected]
CSeq: 15 INVITE
Contact: <sip:[email protected]: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:[email protected]:21052>;tag=1097555858
Call-ID: [email protected]
CSeq: 15 INVITE
Contact: <sip:[email protected]: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:[email protected]:21052 SIP/2.0
Call-ID: [email protected]
CSeq: 6 ACK
From: <sip:52000010102330000001@5200001010>;tag=1726656234184
To: <sip:[email protected]:21052>;tag=1097555858
Via: SIP/2.0/UDP xx.xxx.xxx.x:15060;rport=15060;branch=z9hG4bK-323833-f7c57fec761a4b9b5340a856dfddb41a
Max-Forwards: 70
Contact: <sip:[email protected]:15060>
User-Agent: LimeGBS v11111
Content-Length: 0

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

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

接下来我们开始分析RTP包

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

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

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

点击播放之后,如下

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

相关推荐
唯独失去了从容7 小时前
WebRTC 源码原生端Demo入门-1
webrtc
charlie11451419113 小时前
编译日志:关于编译opencv带有ffmpeg视频解码支持的若干办法
opencv·ffmpeg·音视频·imx6ull·移植教程
批量小王子17 小时前
2025-05-10-FFmepg库裁切有水印的视频
音视频
Java搬砖组长18 小时前
小红书视频无水印下载方法
音视频
eguid_119 小时前
WebRTC流媒体传输协议RTP点到点传输协议介绍,WebRTC为什么使用RTP协议传输音视频流?
java·网络协议·音视频·webrtc·实时音视频
雾江流20 小时前
虚拟现实视频播放器 2.6.1 | 支持多种VR格式,提供沉浸式观看体验的媒体播放器
音视频·软件工程·vr
小虎卫远程打卡app21 小时前
视频编解码学习8之视频历史
学习·音视频·视频编解码
天夏已微凉21 小时前
1.3.2 linux音频PulseAudio详细介绍
linux·音视频
eguid_11 天前
WebRTC工作原理详细介绍、WebRTC信令交互过程和WebRTC流媒体传输协议介绍
java·音视频·webrtc·实时音视频
追随远方1 天前
Android平台FFmpeg视频解码全流程指南
android·ffmpeg·音视频