[FFmpeg-user] Flags to x264

Lou lou at lrcd.com
Mon Mar 25 19:34:30 CET 2013

On Mon, Mar 25, 2013, at 03:36 AM, Marcus Engene wrote:
> [NULL @ 0xbfce20] Unable to parse option value "+chroma"
> [NULL @ 0xbfce20] Error setting option cmp to value +chroma.
> Unrecognized option 'parti8x8-parti4x4-partp8x8-partb8x8'.
> [NULL @ 0x2430b60] [Eval @ 0x7fff90c798e0] Undefined constant or missing 
> '(' in 'partitions'
> [NULL @ 0x2430b60] Unable to parse option value "-partitions"
> [NULL @ 0x2430b60] Error setting option cmp to value -partitions.
> Original:
> ffmpeg -i intermediate.mov -s 480x270 -vf 
> 'movie=tdir/wm169.png,scale=478:268 [wm];[in][wm] overlay=1:1 [out]' 
> -pix_fmt yuv420p -b:v 400k -bt 400k -vcodec libx264 -coder 1 -flags 
> +loop -cmp +chroma -partitions -parti8x8-parti4x4-partp8x8-partb8x8 
> -me_method dia -subq 2 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 
> 40 -i_qfactor 0.72 -b_strategy 1 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 
> -bf 3 -refs 1 -direct-pred 1 -trellis 0 -b-pyramid 1 -mixed-refs 1 
> -8x8dct 1 -fast-pskip 1 -wpredp 2 -an  -pass 1 -passlogfile 
> /mnt/upload/022217690_756011759_pass -threads 0 -y -f mp4 /dev/null
> So the question is how do we who maintains toolchains follow updates to 
> the ffmpeg x264 interface?

Declaring a legion of x264 options is not recommended. You should use
the x264 encoding presets instead. They were created by the x264
developers so users will not have to declare an often contradictory and
bewildering number of options. They make your commands much shorter,
saner, and are kept up-to-date with any changes, additions, etc.

Other notes:
* For filtering with multiple inputs you should generally use
-filter_complex. You can then remove the "movie" source filter.
* -threads 0 is default for this encoder, so you don't necessarily need
to include it.
* libx264 ignores the -bt option, so you can remove that too.
* Using -s and a scale filter is confusing.

So you command can look something like:
ffmpeg -y -i intermediate.mov -i tdir/wm169.png -filter_complex
scale=478:-1,overlay,format=yuv420p -c:v libx264 -preset medium -b:v
400k -an -pass 1 -f mp4 /dev/null

You may have to adjust your filter options and your desired encoding
preset. You can see what each preset applies with "x264 --fullhelp".

Also see:

More information about the ffmpeg-user mailing list