settings
__all__ = ['settings_builder_x265', 'settings_builder_x264', 'sb', 'sb265', 'sb264', 'settings_builder_5fish_svt_av1_psy', 'settings_builder_svt_av1_essential']
module-attribute
sb = settings_builder_x265
module-attribute
sb264 = settings_builder_x264
module-attribute
sb265 = sb
module-attribute
file_or_default
Source code in
vsmuxtools/video/settings.py
is_full_zone
norm_zones
Normalize zones to be within the clip's range.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
clip_or_max_frames
|
VideoNode | int
|
The clip or a max frame count to normalize to. |
required |
zones
|
Zone | list[Zone] | None
|
The zones to normalize. |
required |
Returns:
| Type | Description |
|---|---|
list[Zone]
|
The normalized zones. |
Source code in
vsmuxtools/video/settings.py
settings_builder_5fish_svt_av1_psy
This is a settings_builder for 5fish/SVT-AV1-PSY. These parameters correspond to mid March 2026 version of the encoder.
Repository: https://github.com/5fish/svt-av1-psy .
Windows build: https://github.com/Akatmks/svt-av1-psy-quality/releases .
Linux build: Build/linux/build.sh --native --static --release --enable-lto --enable-pgo with clang highly recommended over gcc.
For high fidelity encodes, start at --preset 0 --crf 12.00.
You should regrain and do every other filtering just as you would for a high fidelity x265 encode. This will work fine.
For even better efficiency, you can offload high frequency part of the regraining noise onto AV1's film grain layer by writing a photon noise table.
For middle quality (for example, ~ 6 Mbps) encodes, start at --preset 2 --crf 20.00.
For most cases, you should be able to rely on writing a good photon noise table instead of regraining to achieve best detail retention for the given filesize. The builtin photon noise table of SVTAV1 can deal with some basic situations as well. Otherwise you can do all other filtering as normal and make sure they are as protective as they can.
For mini encodes, start at --preset 2 --crf 28.00.
You want to remove temporal noise as much as you can while keeping static texture intact. Do not regrain for mini encode. Other than this, you want to still make every process including denoise and deband protective.
If it's a source with very heavy artistic temporal noise and you would not or could not remove the temporal noise, but you still want to get it to a very small filesize (< 3 Mbps), you should use SVT-AV1-Essential instead, as SVT-AV1-Essential throws away information more aggressively and can achieve a good looking result in noisy source even at very small filesize.
For both middle quality and mini encodes, --preset 2 is preferred over slower --preset 0. Specifically this is because, internally, different --preset uses different methods to search for the best encoding option for each block. Without a high fidelity specific parameter (--satd-bias) that's internally enabled at --crf [<= 16.00], it is better to use the --preset 2's search strategy rather than --preset 0's search strategy.
After setting up --preset and --crf, you should set a good --lineart-psy-bias and --texture-psy-bias value depending on how much effort you want to spend on them.
--lineart-psy-bias 3 is generally good for all sources, especially sources without weak lineart and easier to handle.
--lineart-psy-bias 4 puts a little bit more focus on weak lineart retention than --lineart-psy-bias 3.
--lineart-psy-bias 5 and above is optimised for weak lineart retention. Some features here trade overall efficiency for better weak lineart retention, and some features here are tuned very aggressively and may cause issues in texture heavy sources.
--texture-psy-bias 2 is fine to use on sources with little texture.
--texture-psy-bias 3 puts a little bit of focus on texture, and can be used on sources with occasional texture.
--texture-psy-bias 4 is suitable for sources with detailed texture. At this level, it starts to harm especially weak lineart in clean sources a little bit, but should still generally be fine for most sources.
--texture-psy-bias 5 and above is suitabled for encodes where texture retention is a great priority, or when the source is very texture heavy or covered by a layer of static noise.
For better explanations of parameters, and to adjust the encoder beyond the two main -psy-biass, check the Docs/Parameters.md file in encoder's GitHub.
For how to set the parameters for your source, as well as how to generate your own photon noise table, check the guides section in the AV1 weeb server, specifically “High effort high quality AV1 encode note collection”.
To use this settings_builder,
settings = settings_builder_5fish_svt_av1_psy(...)
mini = SVTAV1(**settings, sd_clip=src).encode(final)
Source code in
vsmuxtools/video/settings.py
settings_builder_svt_av1_essential
This is a settings_builder for SVT-AV1-Essential. These parameters correspond to v3.1.2-Essential.
Repository: https://github.com/nekotrix/SVT-AV1-Essential .
Windows build: https://github.com/Akatmks/svt-av1-psy-quality/releases .
Linux build: apply patches if available, and build with Build/linux/build.sh --native --static --release --enable-lto --enable-pgo with clang highly recommended over gcc.
SVT-AV1-Essential is better for mini encodes and is optimised to give a good looking result given any source, with or without filtering. You should not regrain before sending to SVT-AV1.
For higer quality mini and non mini encodes, check out settings_builder_5fish_svt_av1_psy.
For better explanations of parameters, check the Docs/Parameters.md file in encoder's GitHub.
To use this settings_builder,
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
speed
|
str | None
|
Adjust the speed.
|
'slower'
|
quality
|
str | None
|
Adjust the quality.
|
'medium'
|