<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial,helvetica,sans-serif;font-size:10pt"><div style="font-family:arial, helvetica, sans-serif;font-size:10pt">Today's Topics:<br><br>   1. video mp2t -> rtp (Chuck Crisler)<br><br><br>----------------------------------------------------------------------<br><br>>Message: 1<br>>Date: Thu, 27 Dec 2012 10:12:37 -0500<br>>From: Chuck Crisler <<a href="mailto:ccrisler@mutualink.net">ccrisler@mutualink.net</a>><br>>To: Discussion of the development of and with GStreamer<br>> <<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>><br>Subject: video mp2t -> rtp<br>Message-ID:<br>    <CALXOHKpomrjnTpXS6zH8aVyzc1HdAkdWFN61AtJh+<a href="mailto:iyBsScEFQ@mail.gmail.com">iyBsScEFQ@mail.gmail.com</a>><br>Content-Type: text/plain; charset="iso-8859-1"<br><br>I am
 working with video that is generally in MP2T format/protocol (yuck)<br>but I need to convert it to RTP (H264). I have tried a couple of pipelines<br>and nothing is working. Here are my test pipelines.<br><br>gst-launch udpsrc port=$1 ! mpegtsdemux ! video/x-h264 ! \<br>  rtph264pay pt=96 ! udpsink host=$2 port=$3<br><br>The other pipeline is similar but has a decoder and encoder stuck in<br>between the demux and mux.<br><br>The idea here is that the MPEGTSDEMUX should (according to my thinking)<br>generate a buffer that is ready for an H264 decoder, which should be the<br>same as the output of an H264 encoder. Hence, I feed it directly into the<br>RTP payloader. The resulting stream can't be decoded by a gstreamer<br>pipeline or VLC.<br><br>If I try decoding the MP2TDemux output and routing that to an H264 Encoder,<br>then the RTP payloader, it still doesn't work (which really surprises me).<br>In this case the RTP payloader generates constant 88
 byte packets that do<br>seem to be valid RTP packets.<br><br>If I simply capture, encode and transmit, either MP2T or RTP, then<br>decode/display, it works fine (even though with RTP none of the packets<br>have the marker bit set). I can also capture, encoder, MP2T mux, transmit,<br>MP2T demux, RTP payload, transmit, RTP deplayload, decode and display -<br>works fine.<br><br>All of my testing so far has been with an 'ancient' version of gstreamer<br>and plugins. I am working to move to later versions but am limited to<br>CentOS 6.0 and, with the inter-dependencies in gstreamer, I am not sure how<br>far forward I can move. Even one version is difficult to do.<br><br>I haven't yet looked at the source code to understand what the MP2T demux<br>and RTP mux are doing. I know RTP pretty well but don't know anything about<br>MP2T (and I would rather not, but that seems unavoidable at this point). I<br>was thinking about (after learning what is going on) maybe
 writing a plugin<br>to sit between the MP2T demux and RTP mux to collect the pieces from those<br>ridiculously small MP2T packets to produce valid H264 packet slices for the<br>RTP muxer since it seems that the muxer isn't doing that. (Where/how does<br>the RTP payloader get the slice information for each frame? Does it scan<br>the buffer looking for MB ends and generate it's own slices? If so, does<br>the MTU default to 1400 bytes?)<br><br>Would any protocol gurus please shed some light on what is happening and<br>some insight into what could be going wrong and/or how to investigate this?<br><br>Thank you,<br>Chuck Crisler<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br><span>URL: <<a target="_blank"
 href="http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20121227/f0d529e5/attachment-0001.html">http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20121227/f0d529e5/attachment-0001.html</a>></span><br><br>------------------------------<br><br>Hello,<br><br>Run the following...<br><br>gst-launch udpsrc port=$1 ! filesink location=myfile.ts<br><br>...you should see the file fill up with MPEGTS packets...<br><br>...also, with the pipeline in your e-mail, do this...<br><br>GST_DEBUG=mpegtsdemux:5 GST_DEBUG_NO_COLOR=1 gst-launch udpsrc port=$1 ! mpegtsdemux ! video/x-h264 ! \<br>  rtph264pay pt=96 ! udpsink host=$2 port=$3 >mytrace.txt 1>mytrace.txt 2>mytrace.txt<br><br>...mytrace.txt should become populated with debug prints from the mpegtsdemux plugin...<br><br>Best Regards,<br><br>Rob Krakora<br><br><div style="font-family:arial, helvetica,
 sans-serif;font-size:10pt"><br><br><br><br>_______________________________________________<br>gstreamer-devel mailing list<br><a ymailto="mailto:gstreamer-devel@lists.freedesktop.org" 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><br>End of gstreamer-devel Digest, Vol 23, Issue 88<br>***********************************************<br></div></div>



</div></body></html>