Open veikk0 opened 1 year ago
Yes, you need to use it multiple times: ... --svt tune=0 --svt scd=0 ...
--enc af=loudnorm
as example is meant for ffmpeg
the behavior isn't consistent between SVT-AV1 and other encoders
That is because libsvtav1 is the default used encoder. Use ab-av1 auto-encode --help
to see the defaults.
Thanks for raising this, it's mostly setup to use --svt
for these args. I agree that with your usage the behaviour is surprising.
We could:
--enc svtav1-params=...
override any default params.--svt
.Or alternatively just ban svtav1-params
usage, which is simpler. This might be better since it nudges users to the easier to use API.
Also note, since you used svtav1 "keyint" param, --keyint
arg handles this (setting ffmpeg -g) and defaults to 10s.
Regarding --scd
it probably is worth removing this as a first class option & default behaviour.
I'd prefer being able to use --enc svtav1-params for consistency between encoders and easier scripting. IMO svtav1-params is easier to remember once you're using multiple encoders and setting various encoder parameters with the -{encoder}-params switch. It also makes scripting easier, since FFmpeg has kept the naming of the switch consistent between encoders.
I guess the first solution would satisfy that?
- Make user specified --enc svtav1-params=... override any default params.
- Fail if using this and --svt.
Yes, it would.
I was testing tune=1 vs tune=0 with the latest ab-av1 git and ended up with identical output files (matching sha1sums). Looking at the actual FFmpeg command being run, it seems that since ab-av1 is adding its own
-svtav1-params scd=0
, any -svtav1-params the user specifies with --enc is overridden (with multiples of a parameter, only the latter is applied by FFmpeg).Since SvtAv1EncApp usage was removed, I had basically forgotten about the
--svt
parameter, which seems to be the way to set -svtav1-params currently. I've been using--enc
for all the encoders I use with ab-av1, but due to the above, the behavior isn't consistent between SVT-AV1 and other encoders.scd
hasn't done anything since SVT-AV1 0.9.1, so it has no effect in recent SVT-AV1 versions.Command to reproduce: