How to Set FFmpeg Strictness to Experimental

This article explains how to configure the strictness parameter in FFmpeg to enable experimental codecs and features. You will learn the exact command-line flag required, where to place it in your command chain, and see practical examples of how to apply it to your media conversion workflows.

To set the strictness parameter to experimental in FFmpeg, you need to use the -strict flag followed by the value experimental (or the legacy value -2).

The Command Syntax

The basic syntax for incorporating this parameter into your FFmpeg command is as follows:

ffmpeg -i input.mp4 -strict experimental output.mp4

Alternatively, you can use the shorthand numerical equivalent, which is widely supported:

ffmpeg -i input.mp4 -strict -2 output.mp4

Why Is This Parameter Necessary?

FFmpeg enforces strict standards compliance by default to ensure maximum compatibility and stability. Some encoders, decoders, or formats are marked as “experimental” because they are still under active development or have not been fully standardized.

Without the -strict experimental flag, FFmpeg will halt the process and output an error message if you attempt to use one of these experimental features (such as certain native AAC audio encoders in older FFmpeg versions, or cutting-edge video codecs).

Practical Example

If you are converting an audio file using an experimental codec, place the flag directly before the output file name:

ffmpeg -i input.wav -c:a aac -strict experimental output.m4a

By adding -strict experimental (or -strict -2), you instruct FFmpeg to bypass the default safety checks and proceed with the experimental encoding process.