vsmuxtools.video.encoders.intermediary
IntermediaryEncoder
dataclass
IntermediaryEncoder(encoder: VideoEncoder, target_encoders: Sequence[VideoEncoder | tuple[VideoEncoder, VS_FUNCTION]], indexer: Callable[[str], VideoNode] | None = None, **kwargs)
Encoder that will create an intermediary first and then encode that intermediary to the target encoders.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
encoder
|
VideoEncoder
|
The intermediary encoder. Might recommend prores or ffv1. |
required |
target_encoders
|
Sequence[VideoEncoder | tuple[VideoEncoder, VS_FUNCTION]]
|
Target encoders to use. You can also pass a tuple with a function to call on the clips before running. For example: (x265(), lambda clip: clip.nlm_cuda.NLMeans(h=2.0)) |
required |
indexer
|
Callable[[str], VideoNode] | None
|
Here you can pass a custom indexing function ala FileInfo. Uses vsmuxtools.src otherwise. |
None
|
Source code in
vsmuxtools/video/encoders/intermediary.py
ProResIntermediary
dataclass
ProResIntermediary(target_encoders: Sequence[VideoEncoder], indexer: Callable[[str], VideoNode] | None = None, profile: ProResProfile | int | None = None, **kwargs)
This encodes to prores first and will upscale chroma to 422 with point if needed and undo it before passing to other encoders.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
target_encoders
|
Sequence[VideoEncoder]
|
Target encoders to use. You can also pass a tuple with a function to call on the clips before running. For example: (x265(), lambda clip: clip.nlm_cuda.NLMeans(h=2.0)) |
required |
indexer
|
Callable[[str], VideoNode] | None
|
Here you can pass a custom indexing function ala FileInfo. Uses vsmuxtools.src otherwise. |
None
|
profile
|
ProResProfile | int | None
|
The encoder profile. Basically Quality settings. Chooses the Standard/Default profile for 422 and the '4444' profile for 444 clips if None. |
None
|