uvch264src bug. Variations of distance between timestamps with uvch264src

Peter Maersk-Moller pmaersk at gmail.com
Tue May 17 13:43:56 UTC 2016


Hi.

I am using GStreamer 1.4.5 on a BeagleBone (small ARM based computer) with
a Logitech C920 web camera. Here I use the GStreamer module uvch264src to
fetch a H264 stream from the web camera and stream it. However instead of
getting nicely evenly spaced timestamps with a nice duration of
1/framerate, I see presentation timestamps running ahead until adjusted
every approximately 2 seconds, where I don't see any frames for a couple of
hundred millesconds. A graph plotting how much each frames PTS timestamp is
running ahead can be seen here:
https://dl.dropboxusercontent.com/u/5573813/TimestampsAhead.png

The expected framerate is 30fps. The script used to fetch the stream is
this:


ENCVIDEO='video/x-h264,width=1280,height=720,framerate=30/1,profile=(string)main'
  gst-launch-1.0 -v -e \
    uvch264src initial-bitrate=3000000 average-bitrate=3000000 \
    iframe-period=5000 device=/dev/video0 name=src \
    auto-start=true fixed-rate=true src.vidsrc ! \
    $ENCVIDEO ! identity silent=0 ! h264parse ! queue ! fakesink

Obviously when playing the stream, due to the jump in the PTS every 2
seconds, I see the video freezing for a couple of hundred milliseconds.

Is there a workaround for this bug? Apparently uvch264src does not generate
evenly spaced time stamps, even though the fixed rate is enabled and the
camera on an average generate the correct number of frames per second?

I tried to look at the timestamps after a h264parse and that generate
nicely even spaced timestamps for DTS, but that is not going to help ad the
PTS will be used for display.

I tried v4l2src with same result, but it seems uvch264src uses v4l2src
somehow.

Thanks in advance

Peter Maersk-Moller
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160517/cdf99d7d/attachment.html>


More information about the gstreamer-devel mailing list