WOW! Thank you! :-)<br><br><div class="gmail_quote">On Thu, Mar 14, 2013 at 10:59 AM, Olivier Crête <span dir="ltr"><<a href="mailto:olivier.crete@collabora.com" target="_blank">olivier.crete@collabora.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
You should instead feed the pcap file to GStreamer directly using<br>
pcapparse, you can tell pcapparse which src/dest ip/port tuple to use.<br>
Then you get the packets properly timestamped and delimited.<br>
<br>
Olivier<br>
<div class="im"><br>
On Thu, 2013-03-14 at 07:55 +0000, Thomas Greenwood wrote:<br>
> I think your issue may relate to packetizing of the rtp.  In udp each<br>
> packet is delineated by the udp packet, but when put into a file the<br>
> information of where each packet ends isn't available. So I guess the<br>
> file source will just read  chunks that don't match a single whole rtp<br>
> packet.  It's the same issue with sending rtp over tcp - take a look<br>
> at what it says in the spec <a href="http://www.ietf.org/rfc/rfc3551.txt" target="_blank">http://www.ietf.org/rfc/rfc3551.txt</a><br>
><br>
> Btw I haven't looked at your file so I am making some presumptions.<br>
><br>
</div><div><div class="h5">> -----Original Message-----<br>
><br>
> From: Chuck Crisler<br>
> Sent: 13 Mar 2013 19:06:55 GMT<br>
> To: Discussion of the development of and with GStreamer<br>
> Subject: trying to analyze RTP<br>
><br>
><br>
> I am trying to establish tools to analyze RTP streams. I have a<br>
> wireshark packet capture that has RTP video that successfully<br>
> displayed. In wireshark I decoded the specific UDP as RTP, then set<br>
> the default H264 RTP payload type properly to analyze the packets has<br>
> H264. I then selected 'follow conversation' to only select that<br>
> particular stream. I verified that the resulting wireshark display<br>
> only contained the entire RTP payload from all of the selected<br>
> packets, the UDP headers had been removed. To do that I simply<br>
> compared the isolated stream display to the standard wireshark display<br>
> for the selected packet and matched where the initial bytes lined up.<br>
> I then saved that isolated stream to a file that I gave the 'rtp'<br>
> extension to. I then used a gstreamer based script to read the file,<br>
> rtp depay, h264 decode and display the stream. But the depay operation<br>
> failed. Here is my pipeline to process the file:<br>
><br>
> gst-launch -v filesrc location=$1 !<br>
> 'application/x-rtp,media=video,payload=104,clock-rate=90000,encoding-name=H264' \<br>
>          ! queue ! rtph264depay ! ffdec_h264 ! ffmpegcolorspace !<br>
> xvimagesink<br>
><br>
> Here are the initial log messages from the script. I had debugging for<br>
> rtph264depay:5<br>
><br>
> /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps =<br>
> application/x-rtp, media=(string)video, payload=(int)104, clock-rat<br>
> e=(int)90000, encoding-name=(string)H264<br>
> /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:src: caps<br>
> = video/x-h264<br>
> /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps<br>
> = application/x-rtp, media=(string)video, payload=(int<br>
> )104, clock-rate=(int)90000, encoding-name=(string)H264<br>
> WARNING: from<br>
> element /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0: Could<br>
> not decode stream.<br>
> Additional debug info:<br>
> gstbasertpdepayload.c(368): gst_base_rtp_depayload_chain<br>
> (): /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0:<br>
> Received invalid RTP payload, dropping<br>
> WARNING: from<br>
> element /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0: Could<br>
> not decode stream.<br>
><br>
> I can do this process for MP2T packets. I know that RTP is not a valid<br>
> 'container' for this but I would think that by isolating the RTP<br>
> portion of each packet, writing them to a binary file, reading the<br>
> packets and passing them to the RTP H264 depayloader should address<br>
> those problems.<br>
><br>
> In attempting to isolate problems, I also captured video from a<br>
> webcam, H264 encoded it, ran it through the rtph264payloader and wrote<br>
> it to a file. This same script fails the same way with that file.<br>
><br>
> Can anyone suggest where I have goofed? BTW - ffplay also fails.<br>
><br>
> Thank you,<br>
> Chuck Crisler<br>
><br>
</div></div>> _______________________________________________<br>
> gstreamer-devel mailing list<br>
> <a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
> _______________________________________________<br>
> gstreamer-devel mailing list<br>
> <a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Olivier Crête<br>
<a href="mailto:olivier.crete@collabora.com">olivier.crete@collabora.com</a><br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</font></span></blockquote></div><br>