Video stream timestamps problem!

Tim-Philipp Müller t.i.m at zen.co.uk
Wed Dec 12 06:21:21 PST 2012


On Wed, 2012-12-12 at 12:05 +0000, Tarek El-Sherbiny wrote:

Hi,

> In this scenario a live stream from IP camera is displayed on HDMI TV
> using embedded system.
> OS = Linux - CPU = i.MX6 ARM - Gstreamer =0.10.36
> The problem is the decoder is dropping buffers because of timestamping
> problem. So the video is not smooth and what is being played is a
> breaking sequence of frames as if the iframe alone is being displayed
> and everything else is dropped. 
> 
> 
> I'm using ffmpeg to demux the frame which gives me ffmpeg packet then
> memcpy the packet date to GST_BUFFER.
> 
> Appsrc is used to inject the buffer date into Gstreamer pipeline. Here
> is my pipeline:
> app-source | typefinder | vpu-decoder | mfw_v4lsink-sink
> 
> Debug messages:
> :00:16.732445169  1660 0x3465baf0 INFO                  vpudec
> vpudec.c:1512:gst_vpudec_chain: Got no disp information!!
> 0:00:16.732541335  1660 0x3465baf0 INFO                  vpudec
> vpudec.c:1551:gst_vpudec_chain: Got not enough input message!!
> 0:00:16.762768835  1660 0x3465baf0 WARN                basesink
> gstbasesink.c:2875:gst_base_sink_is_too_late:<video-sink> warning: A
> lot of buffers are being dropped.
> 0:00:16.762866002  1660 0x3465baf0 WARN                basesink
> gstbasesink.c:2875:gst_base_sink_is_too_late:<video-sink> warning:
> There may be a timestamping problem, or this computer is too slow.
>
> My question is how do I extract the PTS and pass this information to
> the decoder?

I don't know much about the elements involved, but:

Try setting the "do-timestamp" property on appsrc to TRUE, maybe also
set "format" to GST_FORMAT_TIME, "is-live" to TRUE and "max-latency" to
something suitable.

You can set "sync" to FALSE on the sink to test if that's likely to be
the problem (that's not an actual solution though, just for
diagnostics).

Cheers
 -Tim



More information about the gstreamer-devel mailing list