frame_rate

The output frame rate to use, as a decimal number (e.g. 15, or 24.98).

We recommend that you do not use this setting – forcing a change to the video frame rate will result in a lower-quality video. If you want to prevent frame rates above a certain level, use max_frame_rate instead.

max_frame_rate

Limits the output frame rate to a certain number. If the frame rate would otherwise exceed this number (e.g. the input frame rate is too high), this will reduce the frame rate to the max_frame_rate setting

Example: if you set max_frame_rate to 29.97, and the input has a frame rate of 59.94, the output file will have a frame rate of 29.97.

We recommend using this setting rather than setting an exact frame_rate, for two reasons:

First, changing a frame_rate can result in a visual quality drop due to stuttering and jerky motion.

Second, setting frame rate to a fixed number may actually increase the frame rate of the output video beyond the frame rate of the input, which would result in an unneeded increase in file size (or decrease in quality).

decimate

Divide the input frame rate by the specified number. This is useful if you know you want to cut frame rate in half, but you don’t know what the input frame rate is. Given an input frame rate of 20, if you set decimate to 2, you’ll get an output frame rate of 10. You can still set max_frame_rate if you want to ensure that a decimated frame rate does not exceed a certain value.

The output video will have a frame_rate that is equal to the input frame rate divided by the decimate value. So if the input is 24 fps, and you set decimate to 4, the output would be 6 fps (24 / 4).

keyframe_interval

Set the maximum number of frames between each keyframe. By default, a keyframe will be created at least every 250 frames. Specifying a different keyframe interval will allow you to create more or less keyframes in your video. Keyframe interval should be specified as a positive integer. For example, a value of 100 will create a keyframe every 100 frames.

A greater number of keyframes will increase the size of your output file, but will allow for more precise scrubbing in most players.

Note that this is a maximum keyframe interval. Depending on scene transitions and other things, more keyframes may be used to ensure high quality encoding.

fixed_keyframe_interval

By default, a specified keyframe_interval only guarantees the max number of frames between two keyframes. The encoder may decide to place a keyframe before it is required by the keyframe_interval; for example, better compression might be achieved by putting a keyframe at a scene change. Setting this option to true prevents this variability.

This option only applies when using the H.264, HEVC or VP6 video_codec.

forced_keyframe_interval

Forces keyframes to be created at the specified frame interval (every N frames), while still allowing the encoder to place keyframes elsewhere, such as at scene cuts. As opposed to fixed_keyframe_interval which only puts keyframes at the specified interval.