[gst-devel] rtpbin + mpegtsmux

Marc Leeman marc.leeman at gmail.com
Mon Sep 20 22:20:14 CEST 2010


> Do I need this on both ends?  My version of h264parse (0.10.19) doesn't support
> that option.

No, we put the option first in rtph264pay and then afterwards in
h264parse. If you use it in the parser with an interval of 1s, adding it
in the payloader will do nothing.

It was added in the parser for exactly the kind of 'strange'
combinations that you are trying; sending h264 in TS, in TS/RTP or even
in ES over the network.

You need this NAL insertion on the sending side only; since this is
essential data for the decoder to start decoding.

>> Is this pure RTP or RTP/TS?
>
> These results are RTP/TS.  When I do just RTP, I never get anything other than the initial [incomplete] frame.

This is probably what I was talking about; try to send it in pure RTP
first and see if you get the sender/receiver working correctly. IIRC,
when receiving this combination; the timestamps in the buffers are set
with RTP and then afterwards adjusted with the TS timing info.

I've also been warned several times that the mpegtsmux/mpegtsdemux is
not completely correct with timestamps.

> Note: I'm using a special H264 encoder (based on the DSP in my processor, not x264enc)

That does not really matter as long as your timestamps in your encoder
is correct; we're doing basically the same thing with all kinds of
boards.

> I tried to use x264enc, but my sensor only does UYVY:
>  gst-launch -vv v4l2src ! video/x-raw-yuv,width=720,height=480 ! ffmpegcolorspace ! x264enc ! filesink location=/tmp/xx
> Pipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/dev/video0' cannot capture in the specified format
> Additional debug info:
> gstv4l2object.c(1971): gst_v4l2_object_set_format (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> Tried to capture in YUYV, but device returned format UYVY

UYVY does not seem to supported in ffmpegcolorspace

> I tried to recode it, but I get an error I don't understand:
>  gst-launch -vv v4l2src ! video/x-raw-yuv,width=720,height=480 ! ffmpegcolorspace ! 'video/x-raw-yuv,format=(fourcc)YUY2'  ! x264enc ! filesink location=/tmp/xx
> WARNING: erroneous pipeline: could not link ffmpegcsp0 to x264enc0

It can't match the caps; so it can't link ffmpegcolorspace to x264enc;
x264enc only supports I420 (gst-inspect x264enc)

> Sorry for all the questions, but my exploration of the documentation has not
> been very fruitful (I'm not always this challenged...)

nah, there is a lot of information; you just need to find out where. IRC
has always been helpful for me.


-- 
  greetz, marc
One man's "magic" is another man's engineering.  "Supernatural" is a null word.
		-- Robert Heinlein
crichton 2.6.26 #1 PREEMPT Tue Jul 29 21:17:59 CDT 2008 GNU/Linux
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100920/95fcb2fe/attachment.pgp>


More information about the gstreamer-devel mailing list