vsmuxtools.video.settings
__all__
module-attribute
__all__ = ['settings_builder_x265', 'settings_builder_x264', 'sb', 'sb265', 'sb264', 'settings_builder_5fish_svt_av1_high_quality', 'settings_builder_5fish_svt_av1_mini', 'settings_builder_5fish_svt_av1_mini_high_dlf', 'settings_builder_svt_av1_essential']
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
shift_zones
Source code in
vsmuxtools/video/settings.py
zones_to_args
Source code in
vsmuxtools/video/settings.py
settings_builder_x265
Simple settings builder for x265 encoding.
Defaults are a decently high quality settings for 1080p content.
For explanations on each parameter, check your x265's --fullhelp output or its documentation.
Unlike the builders for SVTAV1, this builder returns a String that is supposed to be passed to the encoders settings parameter.
However, every encoder class can still take arbitrary kwargs for custom args. See Dynamic Dataclasses.
Source code in
vsmuxtools/video/settings.py
settings_builder_x264
Simple settings builder for x264 encoding.
Defaults are a decently high quality settings for 1080p content.
For explanations on each parameter, check your x264's --fullhelp output.
Unlike the builders for SVTAV1, this builder returns a String that is supposed to be passed to the encoders settings parameter.
However, every encoder class can still take arbitrary kwargs for custom args. See Dynamic Dataclasses.
Source code in
vsmuxtools/video/settings.py
settings_builder_5fish_svt_av1_high_quality
This is a settings_builder for 5fish/SVT-AV1 v2.3.261005 or later v2.3 versions.
Source Repository & Builds: https://github.com/5fish/svt-av1.
You can denoise or regrain as normal before sending to the encoder.
However, utilizing the film grain layer and, particularly on a clean source, stabilizing the video would be much more efficient.
If you want to adjust the parameters for your source, check the Usage section in README.md in encoder's GitHub repository.
To use this settings_builder,
settings = settings_builder_5fish_svt_av1_high_quality()
mini = SVTAV1(**settings, sd_clip=src).encode(final)
Source code in
vsmuxtools/video/settings.py
settings_builder_5fish_svt_av1_mini
This is a settings_builder for 5fish/SVT-AV1 v2.3.261005 or later v2.3 versions.
Source Repository & Builds: https://github.com/5fish/svt-av1.
This method is best suited for clean sources. For sources with noise or with regrain, use settings_builder_5fish_svt_av1_mini_high_dlf.
On a clean source, the recommended method is to completely stabilize the video so that it doesn't have any noise, including debanding and dithering noise.
When completely stabilized, on a typical clean source, you should be able to hit 2 Mbps or less over the whole source at --crf 21.00.
Example filtering:
from vsdeband import pfdeband, placebo_deband
from vsdenoise import Prefilter, mc_degrain, MVToolsPreset
from vstools import DitherType, finalize_clip
debanded = pfdeband(source, debander=placebo_deband, thr=2.0)
stabilized = mc_degrain(debanded, mfilter=source, prefilter=Prefilter.DFTTEST(source), preset=MVToolsPreset.HQ_COHERENCE, thsad=40, tr=4)
final = finalize_clip(stabilized, dither_type=DitherType.NONE)
If you want to adjust the parameters for your source, check the Usage section in README.md in encoder's GitHub repository.
To use this settings_builder,
settings = settings_builder_5fish_svt_av1_mini()
mini = SVTAV1(**settings, sd_clip=src).encode(final)
Source code in
vsmuxtools/video/settings.py
settings_builder_5fish_svt_av1_mini_high_dlf
This is a settings_builder for 5fish/SVT-AV1 v2.3.261005 or later v2.3 versions.
Source Repository & Builds: https://github.com/5fish/svt-av1.
Compared to the settings_builder_5fish_svt_av1_mini, this high DLF version is suitable for very noisy or regrained sources.
Denoise is not preferred even for very noisy sources as denoise seems to commonly result in very bad detail retention.
If you want to adjust the parameters for your source, check the Usage section in README.md in the encoder's GitHub repository.
To use this settings_builder,
settings = settings_builder_5fish_svt_av1_mini_high_dlf()
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 v4.0.1-Essential or later versions.
Repository: https://github.com/nekotrix/SVT-AV1-Essential.
Builds: https://github.com/Akatmks/SVT-AV1-Builds/releases?q=SVT-AV1-Essential.
For higher 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 the encoder's GitHub repository.
To use this settings_builder,
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
speed
|
str | None
|
Adjust the speed.
|
'slower'
|
quality
|
str | None
|
Adjust the quality.
|
'medium'
|