Information about ffmpeg command line options

11

2

I have seen the use of ffmpeg in the command line, with the option -strict -2, or -strict experimental. I went to the command line documentation of ffmpeg, but I could not find information about this option.

Is there another site with more in-depth reference?

Amelio Vazquez-Reina

Posted 2013-01-29T18:53:09.630

Reputation: 5 686

Answers

10

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 software
  • strict: strictly conform to all the things in the spec no matter what consequences
  • normal
  • unofficial: allow unofficial extensions
  • experimental: 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.

slhck

Posted 2013-01-29T18:53:09.630

Reputation: 182 472

The doc split has been more annoying than I expected. – llogan – 2013-01-29T19:51:52.240

2I don't quite understand it either. Especially new users won't know where to look now. Took me a couple of minutes to figure it out as well. – slhck – 2013-01-29T19:55:57.507

experimental is not an integer :-( is very 0 or 1 ? – commonpike – 2014-01-03T10:48:58.600

@pike Yeah… the strings are translated to integers, internally. For example it's -strict experimental. – slhck – 2014-01-03T10:50:09.920

4

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.

evilsoup

Posted 2013-01-29T18:53:09.630

Reputation: 10 085

3

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.

susta004

Posted 2013-01-29T18:53:09.630

Reputation: 31

1

The -strict experimental (or -strict -2) switch is now no longer needed in ffmpeg since 5th Dec 2015

See https://trac.ffmpeg.org/wiki/Encode/AAC for more information

tomliddle

Posted 2013-01-29T18:53:09.630

Reputation: 11