我有一个包含UDP/IP包包装的RTP数据包序列的文件。我想将此文件转换为WAV或AU文件,并被告知ffmpeg可能能够完成这项工作。然而,该工具的行为不像我所期望的那样。由于某种原因,它期待一个SDP文件,但我没有这样的文件,我想知道为什么需要它,因为RTP数据包似乎包含足够的信息,以便进行转换。它还报告了错误的有效载荷类型。
任何想法?下面是我尝试过的。输入文件中的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
如果您想要听到.pcap文件中的声音,您可以按照以下步骤操作。
安装Wireshark:File -> open filename.pcap
Analyze -> Decode As
从列表中选择RTP,然后点击apply
电话-> RTP ->显示所有流->分析
然后点击播放器->解码
启用每个文件出现的复选框并播放
现在你可以在这里的流
注意:请确保您安装了最新版本的Wireshark