views:

372

answers:

1

Hi,

I have a dump of RTP packets of streaming H264 videos that i captured using libpcap. I was wondering if anyone knows of a tool that can generate a playable video file from that.

Thanks

A: 

Try exporting the RTP file stream into a dump file (in Wireshark, right-click an RTP packet → Follow UDP Stream → Save As), and then send the file via gst-launch to be demuxed. You’ll need to play around with this a bit, but this should be the right idea:

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

The above is assuming the RTP is an MPEG TS stream. If it’s something else (i.e. raw Vorbis, G.729, PCM, MP3, or something), then you’ll need to use a different ‘depayloader’. You can use gst-inspect to find this out:

$ 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 (including the gst-launch and gst-inspect tools) should be shipped with all modern Linux distributions by default. If not, it should be fairly easy to install. Obviously my example is very generic, so you will need to use my suggestions to find the exact answer yourself. Hopefully I’ve given you enough of a leg-up for you to do that. :)

Jeremy Visser