翼度科技»论坛 编程开发 python 查看内容

从pcap文件中提取pcma音频

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
操作系统 :Windows10_x64 、CentOS 7.6.1810_x64
wireshark版本:3.6.12
Python 版本  :  3.9.12
一、背景描述

工作中有时候会遇到需要从pcap抓包文件里面提取音频的情况,比如下面这些场景:

  • 从pcap文件里面导出wav文件
  • 从pcap文件里面导出mp3文件
... 
本文以pcma音频编码为例,介绍下从pcap文件提取音频的流程。
二、具体实现

这里提供两种实现方式从pcap文件提取音频的流程,分别为Windows 10环境和CentOS 7环境。
1、Windows 10环境使用wireshark提取rtp音频
wireshark版本:3.6.12

1)打开pcap文件,选择 voip 通话;

 2)选中需要提取的通话,然后点击播放;

 3)在弹出的窗口,点击播放按钮可以实时听取音频流;

 4)选中需要导出的声道,执行导出音频操作;

 5)在弹出的窗口选择导出的音频格式,目前的版本支持wav格式、au格式;

 这里以wav格式为例展示下导出效果:

2、CentOS 7环境使用python提取rtp音频
使用python导出rtp音频大概分为以下两个步骤: 
1)使用libpcap从pcap文件中提取raw格式的音频; 
libpcap的使用可以参考这篇文章:python3使用libpcap库进行抓包及数据处理
 2)使用ffmpeg将raw格式转换成需要的格式(比如wav)
可安装ffmpeg后直接使用,也可自行编译,centos下编译ffmpeg可以参考这篇文章:CentOS7环境下编译FFmpeg
示例代码如下:

完整代码从如下途径获取:
关注微信公众号(聊聊博文,文末可扫码)后回复 2023032601 获取。
运行效果如下:

三、资源获取

本文涉及示例代码和文件,可从百度网盘获取:
https://pan.baidu.com/s/1NVo9TK5bJwo1CUk5gE9qmA

关注微信公众号(聊聊博文,文末可扫码)后回复 2023032601 获取。

来源:https://www.cnblogs.com/MikeZhang/p/20230326-pcapToWav.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具