[gst-devel] H.264 streaming: choppy video + timestamp warnings
bilboed at gmail.com
Wed Jul 21 08:35:17 CEST 2010
On Tue, 2010-07-20 at 14:46 -0400, Parisot, Adam wrote:
> Hi all,
> I'm trying to develop a GStreamer-based application to receive and
> display H.264 video from a network source. The protocol is not
> particularly important. I've tried raw UDP with MPEG-TS encapsulation
> as well as RTP with no encapsulation and I'm seeing the same performance
> issue in both cases.
I wouldn't try to use mpeg-ts because of mpegtsdemux's poor/wrong
support for timestamping when working with live stream (which is why
you're getting all those sync issues).
H264 over rtp (and not h264-in-mpegts-over-rtp) should work correctly
though. You'll have to figure out how to configure vlc to broadcast in
regular rtp though.
> Video starts skipping badly shortly after initiating playback and I see
> these warnings from GStreamer:
> > 0:00:03.165877350 21089 0xb09010 WARN basesink
> gstbasesink.c:2686:gst_base_sink_is_too_late:<sink> warning: A lot of
> buffers are being dropped.
> > 0:00:03.165917755 21089 0xb09010 WARN basesink
> gstbasesink.c:2686:gst_base_sink_is_too_late:<sink> warning: There may
> be a timestamping problem, or this computer is too slow.
> I can stream point-to-point between two instances of VLC just fine, so I
> don't think there's an inherent problem with the hardware or network.
> My pipeline looks like this (for UDP + MPEG-TS):
> > udpsrc port=8200 caps="video/mpegts" \
> > ! mpegtsdemux \
> > ! ffdec_h264 \
> > ! glimagesink
> I have tried inserting a queue at various points in the pipeline and an
> "h264parse" element before the decoder, but neither brings any
> noticeable improvement.
> Also, the GStreamer core and good/bad/ugly plugin sets are all at the
> latest released revisions.
> Can anyone offer any insight as to what might be causing this behavior?
More information about the gstreamer-devel