我有使用libpcap捕获的流式H264视频的RTP数据包转储。我想知道是否有人知道可以从中生成可播放视频文件的工具。
由于
答案 0 :(得分: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
[...]
默认情况下,GStreamer(包括gst-launch
和gst-inspect
工具)应附带所有现代Linux发行版。如果没有,它应该相当容易安装。显然我的例子非常通用,所以你需要使用我的建议来自己找到确切的答案。希望我已经给你足够的帮助了。 :)