RTP音频流分析以及乱序问题的解决方法(一)

本文介绍了一起因RTP音频流乱序导致的终端解码爆破音问题。通过Wireshark分析,发现在嵌入式设备上接收到的RTP流存在40%的乱序率,而设备的RTP解包代码未处理乱序,从而影响了音频质量。后续文章将探讨解决乱序的方法。
摘要由CSDN通过智能技术生成

一、背景描述:

近日,项目现场传来消息,终端音频解码声音不正常,有爆破音。

我们的项目的视音频使用RTP协议封装,视频使用H.264格式,音频使用G.711格式,使用UDP发送接收。

音频流传输是这样的:

终端A -> 流媒体服务器 -> 终端B

在现场的同事,在流媒体服务器上面进行了抓包,流媒体服务器收到的音频流、发出去的音频流,解出来的声音都没有问题。


二、如何从RTP包中提取音频数据

1、拿到.pcap文件后,使用wireshark打开

2、解码为RTP:此时还是现实UDP包,点击任意一个UDP包,鼠标右键,Decode As,窗口右侧列表总选择RTP

3、查看流信息:菜单 Telephony->rtp->stream analysis

4、保存.AU文件:在弹出窗口中,可以看到这个流的统计信息,包括丢包、乱序等,点击左下角按钮save payload as,选择.au

5、收听.AU文件:可以使用VLC直接打开,也可以使用audacity打开并且查看波形


三、分析PCM数据

既然服务器发出去的流没有问题,那么只能从终端上面找原因了。

终端设备是嵌入式设备,使用嵌入式linux系统,音频采集、播放使用ALSA接口,编解码使用软件模块。

由于设备不在身边,不能操作串口,所以我先选择了修改代码,在ALSA播放线程࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值