Information about ffmpeg command line options
The FFmpeg documentation has recently been split up into multiple chapters, each describing components, including separate docs for the codecs.
Here, there's a section about the strict
option:
strict integer (decoding/encoding,audio,video)
Specify how strictly to follow the standards.
Possible values:
very
: strictly conform to a older more strict version of the spec or reference softwarestrict
: strictly conform to all the things in the spec no matter what consequencesnormal
unofficial
: allow unofficial extensionsexperimental
: allow non standardized experimental things
Note that integer
here just refers to the internal values… you should use -strict experimental
, for example.
You can find a list of all these docs on the documentation page. Note that the online documentation is generated daily from the most recent FFmpeg code. Refer to your local documentation in the case of using an older version.
As well as the online documentation, you can use ffmpeg -h
(or -h long
or -h full
for more information).
It's not the question, but you can also get some information about specific encoders with encoder=
(or decoders with decoder=
) like so:
ffmpeg -h encoder=libx264
You can pipe this to less
, in order to make it searchable.
ffmpeg -h full | less
Use /string
to search for a string. In your case, /strict
.
Also not explained in the documentation are the integer values for "-strict": "-2" corresponds to "experimental", "0" for "normal", "2" for "very", etc. Makes sense once you think about it, but a little weird at first (especially since "-2" looks like FFMPEG option syntax). I just use the full name like "-strict experimental" but you will encounter both forms floating around the web.