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

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

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

于是我们联系客户开始进行现场的抓包分析,因为语音对讲是分两个阶段走,一个是信令服务器和摄像头进行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流播放的时候,是正常且有声音的,到这里我们就几乎得到定论了,问题出在设备上,可能是格式不对或者设备配置的问题,接下来我们会对设备重新检查一下,看是否和配置以及音频支持程度有关。

相关推荐
老贾专利烩23 分钟前
音频共享耳机专利拆解:碰击惯性数据监测与阈值减速识别机制研究
音视频·信息与通信·科技前沿·创新专利
web前端进阶者1 小时前
音视频开发远端未发布视频占位图
音视频·webrtc
syso_稻草人1 小时前
基于 ComfyUI + Wan2.2 animate实现 AI 视频人物换衣:完整工作流解析与资源整合(附一键包)
人工智能·音视频
追风20194 小时前
OSS存储的视频,安卓和PC端浏览器打开正常,苹果端打开不播放,什么原因?
音视频
救救孩子把5 小时前
从 Sora 到 Sora 2:文本生成视频进入下一个阶段(附sora教程)
音视频·sora
-KamMinG7 小时前
云上极速转码:阿里云ECS+T4 GPU打造高性能FFmpeg视频处理引擎(部署指南)
阿里云·ffmpeg·音视频
fangji9998 小时前
自建webrtc低延时分布式街机游戏直播方案
webrtc·游戏直播·街机直播·自建集群·低延时直播
RTC老炮16 小时前
webrtc弱网-ReceiveSideCongestionController类源码分析及算法原理
网络·算法·webrtc
给大佬递杯卡布奇诺1 天前
FFmpeg 基本API avcodec_alloc_context3函数内部调用流程分析
c++·ffmpeg·音视频
Silicore_Emma1 天前
芯谷科技--I²C 串行实时时钟,为系统提供持久、精准的时间基准D1307
科技·实时音视频·低功耗·rtc·时间基准解决方案·双电源