Variable framerate/fps input video encoding questions

jles jlesquer at
Thu Jul 18 09:28:09 UTC 2019


I'm new with gstreamer and h264 encoding and I'm trying to understand the
capabilities and limitations of this.

My main goal is to be able to record an input live video stream from a
camera that changes the framerate dynamically  depending of the exposure and
light conditions. This camera is capable to work a high framerates for low
resolutions like 700fps on VGA(640x480) mode, so frame rate can change from
10fps to 700fps. 

My first question is: would it be possible to encode video to h264 for a
variable frame rate as described above?

The pipeline I'm using looks similar to this:

appsrc -> videorate -> videoconvert -> caps -> queue -> omxh264enc -> queue
-> h264parse -> mpegtsmux -> filesink

These are the things I tried and the issues I found:

- If I set the appsrc caps to a fix framerate of 15fps (regardless camera
fps) the resulting video plays a "normal" speed but during fast movements I
can see frame tearing issues.

-For any fps different to 15fps the resulting encoded video plays faster
than is should be.

Any idea what could it be happening?

I did spend long time searching but I could not find any similar

Any light on this would it be appreciated.
Thanks in advance.

Sent from:

More information about the gstreamer-devel mailing list