我有使用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发行版一起提供。如果不是这样,它应该很容易安装。显然,我的示例非常通用,因此您需要使用我的建议自己找到确切的答案。希望我能给您足够的帮助。 :)关于video - H264 RTP数据包转储并生成快速时间文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2539417/