使用ffmpeg将RTP数据包转换为WAV或AU

时间:2012-12-24 05:50:39

标签: ffmpeg rtp audio-converter

我有一个文件,其中包含一系列包含在UDP / IP数据包中的RTP数据包。我想将此文件转换为WAV或AU文件,并被告知ffmpeg可能能够完成这项工作。但是该工具的行为与我的预期不符。由于某种原因,它期待一个SDP文件,但我没有这样的文件,我想知道为什么需要它,因为RTP数据包似乎包含足够的信息才能进行转换。此外,它报告错误的有效负载类型。

有什么想法吗?以下是我的尝试。输入文件alaw.rtp中的RTP数据包只有有效载荷类型8(A-law)和72(与RTCP相关),因此我不知道有效载荷类型105来自何处。

$ ffmpeg -f rtp -i alaw.rtp alaw.au
...
[rtp @ 0x9dbdfe0] Unsupported RTP version packet received
    Last message repeated 89 times
[rtp @ 0x9dbdfe0] Unable to receive RTP payload type 105 without an SDP file describing it
[rtp @ 0x9dbdfe0] Estimating duration from bitrate, this may be inaccurate
Input #0, rtp, from 'alaw.rtp':
  Duration: N/A, bitrate: N/A
File 'alaw.au' already exists. Overwrite ? [y/N] y
Output #0, au, to 'alaw.au':
Output file #0 does not contain any stream

这是我用过的ffmpeg的版本

ffmpeg version 0.10.6-6:0.10.6-0ubuntu0jon1~lucid2
built on Nov 12 2012 15:20:22 with gcc 4.4.3

1 个答案:

答案 0 :(得分:0)

如果你想听到.pcap文件中的声音,你可以按照以下步骤操作。

安装Wireshark:

  1. 档案 - >打开filename.pcap

  2. 分析 - >解码为

    从列表中选择RTP,然后单击“应用

  3. 电话 - > RTP - >显示所有流 - >分析

  4. 然后点击播放器 - >解码

  5. 启用每个文件的复选框并播放

  6. 现在你可以在这里看到溪流。

  7. 注意:确保安装了最新版本的Wireshark。