So, x264 is still the most popular (free) H.264 encoder out there. But it is also still considered ridiculously cryptic as well. There are tons of switches and options in the encoder that allow you to create tiny files that capture an impressive amount of quality.
I have looked over the ffmpeg wiki, the VLC wiki pages for x264 and the very academically written PDF, but there's no realistically easy quick reference guide for x264 that I've seen that lets people understand, for instance, why when you unparse the encoder options for the x264 -tune option set to "none" is
x264 Unparse: level=4.0:ref=1:8x8dct=0:weightp=1:subme=2:mixed-refs=0:trellis=0:vbv-bufsize=25000:vbv-maxrate=20000:rc-lookahead=10
but the unparsed x264 -tune option "film" is
x264 Unparse: level=4.0:ref=1:deblock=-1,-1:8x8dct=0:weightp=1:subme=2:mixed-refs=0:trellis=0:psy-rd=1.00,0.15:vbv-bufsize=25000:vbv-maxrate=20000:rc-lookahead=10
And I know that the secret (as it were) to getting great quality is using constant rate factor (CRF), I'm still interested in knowing how best to tweak these esoteric options if it makes sense.
Here are some example situations:
- A live-action video, fast cuts throughout, but shot at 24 fps.
- An CG animated video, longer cuts, rendered at 30 fps
Using the same generic settings in x264 would provide two different outcomes, obviously. But what options outside of -tune would you turn to for being able to effectively set x264 on the task for the best possible outcome?