操作系统 :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 获取。

从pcap文件中提取pcma音频的更多相关文章

  1. [SimplePlayer] 4. 从视频文件中提取音频

    提取音频,具体点来说就是提取音频帧.提取方法与从视频文件中提取图像的方法基本一样,这里仅列出其中的不同点: 1. 由于目的提取音频,因此在demux的时候需要指定的是提取audio stream Au ...

  2. [转]【流媒體】H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流

    [流媒體]H264—MP4格式及在MP4文件中提取H264的SPS.PPS及码流 SkySeraph Apr 1st 2012  Email:skyseraph00@163.com 一.MP4格式基本 ...

  3. [数据科学] 从csv, xls文件中提取数据

    在python语言中,用丰富的函数库来从文件中提取数据,这篇博客讲解怎么从csv, xls文件中得到想要的数据. 点击下载数据文件http://seanlahman.com/files/databas ...

  4. 利用ROS工具从bag文件中提取图片

    bag文件是ROS常用的数据存储格式,因此要从bag文件中提取数据就需要了解一点ROS的背景知识. 1. 什么是ROS及其优势 ROS全称Robot Operating System,是BSD-lic ...

  5. 从ROS bag文件中提取图像

    从ROS bag文件中提取图像 创建launch文件,如下: export.launch <launch> <node pkg="rosbag" type=&qu ...

  6. JSFinder:一个在js文件中提取URL和子域名的脚本

    JSFinder介绍 JSFinder是一款用作快速在网站的js文件中提取URL,子域名的脚本工具. 支持用法 简单爬取 深度爬取 批量指定URL/指定JS 其他参数 以往我们子域名多数使用爆破或DN ...

  7. 使用Python从PDF文件中提取数据

    前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了 ...

  8. 嵌入式 H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流

    一.MP4格式基本概念 MP4格式对应标准MPEG-4标准(ISO/IEC14496) 二.MP4封装格式核心概念 1  MP4封装格式对应标准为 ISO/IEC 14496-12(信息技术 视听对象 ...

  9. [SimplePlayer] 1. 从视频文件中提取图像

    在开始之前,我们需要了解视频文件的格式.视频文件的格式众多,无法三言两语就能详细分析其结构,尽管如此,ffmpeg却很好地提取了各类视频文件的共同特性,并对其进行了抽象描述. 视频文件格式,统称为co ...

  10. 多媒体开发之---H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流

    一.MP4格式基本概念 MP4格式对应标准MPEG-4标准(ISO/IEC14496) 二.MP4封装格式核心概念 1  MP4封装格式对应标准为 ISO/IEC 14496-12(信息技术 视听对象 ...

随机推荐

  1. 浏览器垃圾回收机制:栈垃圾回收、堆垃圾回收、新生区老生区、Scavenge算法、标记-清除算法、标记-整理算法、全停顿、增量标记

    浏览器垃圾回收机制根据数据的存储方式分为栈垃圾回收和堆垃圾回收. 栈垃圾回收的方式非常简便,当一个函数执行结束之后,JavaScript 引擎会通过向下移动 ESP 来销毁该函数保存在栈中的执行上下文 ...

  2. gets,fgets,getchar,fgetc

    以上四个函数都是读取外部输入的函数.可以使stdin,也可以是文件.以下都是在C语言中的应用 关于gets和fgets都能够读取一行,一行结束的标志是"回车".都有弊端gets(s ...

  3. vantUI <van-uploader> 上传图片,如何获取图片的尺寸

    html代码 <van-uploader preview-size="300px" style="width:300px;display:block;margin: ...

  4. JAVA第六七八次大作业

         21201411-李英涵            前言:这几次的作业较为简单,主要思路就是利用正则表达式来过滤掉不需要的信息.  题量设置较为合理,比之前的多边形好做一些,应该是老师为了捞起来 ...

  5. 【收藏】js数组图

  6. JAVA——》微信分账

    做一个推荐分享的功能,场景:每推荐成功奖励推荐人一定的推荐金. 这里,我就用调用了微信支付分账接口.链接:https://pay.weixin.qq.com/wiki/doc/api/allocati ...

  7. SQL初级知识点

    一,表 表中的列叫做字段,行叫记录也叫元组. 主键:唯一的标识表中的某一条记录 外键:一个表的主键作为另一个表的外键,表示两个表之间的关系.一般将外键写在记录的一方,比如部门号和员工号,应该将部门号作 ...

  8. CF 1272 D. Remove One Element

    D. Remove One Element time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  9. Docker安装(win10)

    Docker安装 windows 首先开启Hyper-V Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10.这是 Docker Des ...

  10. Electron问题记录01:关于electron的notification在win10下不显示问题

    0.问题描述 在学习electron官网的notification例程时, 使用官网的代码运行时无法按照预期弹出窗口,在查询官网时发现以下解决方法. 官网解决方法:在 Windows 10 上,您的应 ...