3

我有一个使用 libpcap 捕获的流式 H264 视频的 RTP 数据包转储。我想知道是否有人知道可以从中生成可播放视频文件的工具。

谢谢

4

1 回答 1

1

尝试将 RTP 文件流导出到转储文件中(在 Wireshark 中,右键单击 RTP 数据包 → 跟随 UDP 流 → 另存为),然后通过发送文件gst-launch进行解复用。您需要尝试一下,但这应该是正确的想法:

$ gst-launch-0.10 filesrc location=dump.rtp ! rtpmp2tdepay ! filesink location=dump.ts

以上假设 RTP 是 MPEG TS 流。如果它是其他东西(即原始 Vorbis、G.729、PCM、MP3 或其他东西),那么您将需要使用不同的“depayloader”。你可以用它gst-inspect来找出这个:

$ gst-inspect-0.10 | egrep 'rtp.*depay'
quicktime:  rtpxqtdepay: RTP packet depayloader
dtmf:  rtpdtmfdepay: RTP DTMF packet depayloader
rtp:  rtpdepay: Dummy RTP session manager
rtp:  rtpac3depay: RTP AC3 depayloader
rtp:  rtpbvdepay: RTP BroadcomVoice depayloader
rtp:  rtpceltdepay: RTP CELT depayloader
[...]

默认情况下,所有现代 Linux 发行版都应附带GStreamer(包括gst-launch和工具)。gst-inspect如果没有,它应该很容易安装。显然,我的示例非常通用,因此您需要使用我的建议自己找到确切的答案。希望我已经给了你足够的支持让你做到这一点。:)

于 2010-06-18T14:20:05.027 回答