zf8848 / libjingle

Automatically exported from code.google.com/p/libjingle
0 stars 0 forks source link

How to playback the rtpdump video example file? #115

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I've run sucessfully the call example with the rtpdump example files but I 
would like to play rtpdump files in a more direct manner. I used rtpplay 
combined with VLC player and could play the voice.rtpdump but the same didn't 
work for the video.rtpdump. Is it possible to play rtpdump video files in that 
(or similar) way? Thanks in advance.

Original issue reported on code.google.com by diego.cd...@gmail.com on 5 Jan 2011 at 3:43

GoogleCodeExporter commented 9 years ago
I'm not sure if you can find a free tool to do so, but I'm sure that there are 
some commercial ones that can play the rtpdump file. Try Google search. 

Original comment by jun...@google.com on 14 Jan 2011 at 4:45

GoogleCodeExporter commented 9 years ago
I'm using gstream (gst-launch) to convert to avi.

Original comment by diego.cd...@gmail.com on 2 Feb 2011 at 5:56

GoogleCodeExporter commented 9 years ago
In rtpdump.h is written:
// We use the RTP dump file format compatible to the format used by rtptools
// (http://www.cs.columbia.edu/irt/software/rtptools/) and Wireshark
// (http://wiki.wireshark.org/rtpdump).
However, I could not open any of the files in talk/session/phone/testdata using 
wireshark (I've tried on Linux and Windows). Aren't these files missing headers 
used by wireshark?

Original comment by diego.cd...@gmail.com on 2 Dec 2011 at 1:38

GoogleCodeExporter commented 9 years ago
Diego, could you provide the command line for gst-launch to convert rtp dump to 
avi?

Thanks!

Original comment by pkapus...@gmail.com on 3 Apr 2014 at 3:13

GoogleCodeExporter commented 9 years ago
gst-launch -m -v filesrc location=$1 ! pcapparse ! 
"application/x-rtp,payload=96" ! rtph264depay ! "video/x-h264, width=320, 
height=240, framerate=(fraction)30/1" ! ffmux_mp4 name=mux ! filesink 
location=$2

Note that the pcap file must contain only the H264 video stream and also change 
the payload type (96) in the command if needed.
$1 is the source file and $2 is the destination file.

Original comment by diego.cd...@gmail.com on 3 Apr 2014 at 3:53

GoogleCodeExporter commented 9 years ago
Thanks a lot Diego. I guess I will have to somehow adapt this to VP8, as long 
as I am saving the dump from inside of the WebRTC's peerconnection_client.

Original comment by pkapus...@gmail.com on 4 Apr 2014 at 9:24

GoogleCodeExporter commented 9 years ago
For VP8 you can use something like this:
gst-launch -q filesrc location=$1 ! pcapparse  ! "application/x-rtp, 
payload=$2" ! rtpvp8depay ! vp8dec ! decodebin ! videorate ! videoscale ! 
"video/x-raw-yuv, width=320, height=240, framerate=(fraction)30/1" ! x264enc ! 
queue ! qtmux name=mux ! filesink location=$3

Honestly I cannot explain all those pipes but they work, hehe...Here $2 is now 
the payload type. I hope it helps.

Original comment by diego.cd...@gmail.com on 4 Apr 2014 at 12:43

GoogleCodeExporter commented 9 years ago
Thanks a lot Diego.
I also had to: 
1) Change video/x-raw-yuv with video/x-raw, 
2) Play rtp dump with rtpplay and re-captured with wireshark (to save in 
libpcap format)

Then I was finally able to process the pcap file using the pipeline you kindly 
provided!
However, this only worked my home-brewed vp8 rtp.

When I tried the dump that I saved using StartRtpDump from webrtc APIs, I got
"warning: Received invalid RTP payload, dropping" from gst-launch, resulting in 
empty output...

Original comment by pkapus...@gmail.com on 8 Apr 2014 at 5:24

GoogleCodeExporter commented 9 years ago
You're welcome pkapustin. I don't know this StartRtpDump API. You need to check 
if the dump is in the right format and also if it contains only the video 
stream. I hope you can do what you want.

Original comment by diego.cd...@gmail.com on 8 Apr 2014 at 7:02