【发布时间】:2010-03-29 16:04:36
【问题描述】:
我有一个使用 libpcap 捕获的流式 H264 视频的 RTP 数据包转储。我想知道是否有人知道可以从中生成可播放视频文件的工具。
谢谢
【问题讨论】:
我有一个使用 libpcap 捕获的流式 H264 视频的 RTP 数据包转储。我想知道是否有人知道可以从中生成可播放视频文件的工具。
谢谢
【问题讨论】:
尝试将 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
[...]
GStreamer(包括gst-launch 和gst-inspect 工具)应默认随所有现代Linux 发行版一起提供。如果没有,它应该很容易安装。显然,我的示例非常通用,因此您需要使用我的建议自己找到确切的答案。希望我已经给了你足够的支持让你做到这一点。 :)
【讨论】: