操作系统 :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. UNIT FIVE TO EIGHT

    内存单元间接表示 mov dl, [0] :直接寻址 mov bx, 0mov dl, [bx]:间接寻址 loop指令 1.语法 loop 标号 2.CPU执行指令过程 ① (cx) ← (cx) ...

  2. 用python遍历一个图片文件夹,并输出所有路径到一个 txt 文件

    1 #coding:utf8 2 import os 3 import sys 4 def listfiles(rootDir, txtfile, label=0): 5 ftxtfile = ope ...

  3. 查看linux机器上的cpu个数

    1. 查看 cpu 的物理核数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 查看每个物理CPU中core的个数( ...

  4. 样式优先级的规则:!important`>行内样式>嵌入样式>外链样式>id选择器>类选择器>标签选择器>复合选择器>通配符>继承样式

    CSS样式的优先级应该分成四大类 第一类`!important`,无论引入方式是什么,选择器是什么,它的优先级都是最高的. 第二类引入方式,行内样式的优先级要高于嵌入和外链,嵌入和外链如果使用的选择器 ...

  5. docker-compose实践(携程apollo项目)

    docker-compose使用开源镜像启动容器 以携程apollo项目为例,使用docker-compose部署单节点模式 创建apollo文件夹,vim一个新的docker-compose.yam ...

  6. Vue 防抖节流获取this问题

    1. 防抖 debounce(func, delay = 500) { let _this = this; let args = arguments; return (function () { if ...

  7. Compose Modifier Clip 圆角

    Row( modifier = Modifier .fillMaxWidth() .padding(20.dp) // 圆角 .clip(RoundedCornerShape(15.dp)) .cli ...

  8. Django框架搭建web项目(二)

    1.在路径XXXXX\mydjango\mydjango\mydjango下新建views.py(在浏览器中url请求后所展示的内容设置) from django.http import HttpRe ...

  9. 机制设计原理与应用(三)Screening

    目录 3 Screening 3.1 为单个不可分割的项目定价 3.1.1 对\(\theta\)的假设 3.1.2 问题描述 3.1.3 特性 3.2 为无限可分的项目定价 3.2.1 对\(\th ...

  10. AirServer 7(专业mac投屏软件)v7.2.6中文版

    AirServer Mac是一款好用的投屏工具,它可以将您的Mac变成通用镜像接收器,允许您使用内置的AirPlay或基于Google Cast的屏幕投影功能镜像设备的显示器.您可以通过任何AirPl ...