You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Tshark从VoIP通话Pcap文件生成音频文件?

用Tshark从PCAP提取VoIP音频的方法

Tshark本身可以提取RTP流的原始音频负载,但要得到可播放的音频文件,需要搭配额外的音频转码工具(如sox、ffmpeg),具体步骤如下:

1. 列出PCAP中的所有RTP流

首先用Tshark识别目标通话对应的RTP流,获取关键标识(如SSRC、端口):

tshark -r your_capture.pcap -q -z rtp,streams

执行后会输出所有RTP流的详情,包括SSRC值、负载类型(Payload Type)、端口对,记下你要提取的目标流的SSRC或端口信息。

2. 提取RTP原始音频负载

根据上一步得到的标识,过滤并提取原始payload:

  • 按SSRC过滤(更精准,推荐):

    tshark -r your_capture.pcap -R "rtp.ssrc == 0x12345678" -T fields -e rtp.payload > raw_audio.bin
    

    将0x12345678替换为你实际的目标流SSRC值。

  • 按端口过滤(如果知道通话的UDP端口对):

    tshark -r your_capture.pcap -R "udp.srcport == 12345 and udp.dstport == 6789" -T fields -e rtp.payload > raw_audio.bin
    

    替换12345和6789为实际的通话端口。

3. 转码为可播放的音频文件

Tshark提取的raw_audio.bin是原始编码的音频数据,需要根据RTP流的编码格式(如G.711 PCMU/PCMA、G.729等),用转码工具转换为WAV等可播放格式:

  • G.711 PCMU(Payload Type 0):
    sox -t ul -r 8000 -c 1 raw_audio.bin output.wav
    
  • G.711 PCMA(Payload Type 8):
    sox -t al -r 8000 -c 1 raw_audio.bin output.wav
    
  • G.729编码:
    ffmpeg -f g729 -i raw_audio.bin output.wav
    

补充说明

Tshark仅负责提取RTP的原始负载数据,不具备音频解码能力,因此需要额外安装sox或ffmpeg这类工具来完成转码。

内容的提问来源于stack exchange,提问作者miya taka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 20:55:19