types
Chapter = tuple[timedelta | int, Optional[str]]
module-attribute
PathLike = Union[Path, str, None]
module-attribute
Paths = Union[PathLike, list[PathLike]]
module-attribute
TimeScaleT = Union[TimeScale, Fraction, int, None]
module-attribute
Unit of time (in seconds) in terms of which frame timestamps are represented.
While you can pass an int, the needed type is always a Fraction and will be converted via Fraction(your_int)
.
None
will usually fallback to a generic mkv timescale but exact behavior might differ based on the target function.
TimeSourceT = Union[PathLike, Fraction, float, list, VideoMeta, ABCTimestamps, None]
module-attribute
The source of timestamps/timecodes.
For actual timestamps, this can be a timestamps (v1/v2/v4) file, a video file or a list of integers.
For FPS based timestamps, this can be a Fraction object, a float or even a string representing a fraction.
Like '24000/1001'
.
Can also be an already instantiated Timestamps class from the videotimestamps library.
None
will usually fallback to 24000/1001 but exact behavior might differ based on the target function.
Trim = tuple[int | None, int | None]
module-attribute
__all__ = ['PathLike', 'Paths', 'Trim', 'TrackType', 'AudioFormat', 'AudioFrame', 'AudioStats', 'AudioInfo', 'Chapter', 'DitherType', 'LossyWavQuality', 'VideoMeta', 'TimeScale']
module-attribute
AudioFormat
dataclass
AudioFrame
dataclass
A dataclass representing ffmpeg's ashowdata
filter output.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
n
|
int
|
The (sequential) number of the input frame, starting from 0 |
required |
pts
|
int
|
The presentation timestamp of the input frame, in time base units the time base depends on the filter input pad, and is usually 1/sample_rate |
required |
pts_time
|
float
|
The presentation timestamp of the input frame in seconds |
required |
num_samples
|
int
|
Number of samples in a frame (can also be refered to as frame length or size) |
required |
Source code in muxtools/utils/types.py
n
instance-attribute
num_samples
instance-attribute
pts
instance-attribute
pts_time
instance-attribute
__init__
AudioInfo
dataclass
Source code in muxtools/utils/types.py
AudioStats
dataclass
A dataclass representing ffmpeg's astats
filter output.
Too many attributes to document to be honest.
See https://ffmpeg.org/ffmpeg-filters.html#astats-1
Source code in muxtools/utils/types.py
bit_depth = ''
class-attribute
instance-attribute
dc_offset = 0.0
class-attribute
instance-attribute
entropy = 0.0
class-attribute
instance-attribute
flat_factor = 0.0
class-attribute
instance-attribute
max_difference = 0.0
class-attribute
instance-attribute
max_level = 0.0
class-attribute
instance-attribute
mean_difference = 0.0
class-attribute
instance-attribute
min_difference = 0.0
class-attribute
instance-attribute
min_level = 0.0
class-attribute
instance-attribute
noise_floor_count = 0.0
class-attribute
instance-attribute
noise_floor_db = 0.0
class-attribute
instance-attribute
number_of_samples = 0
class-attribute
instance-attribute
peak_count = 0.0
class-attribute
instance-attribute
peak_level_db = 0.0
class-attribute
instance-attribute
rms_difference = 0.0
class-attribute
instance-attribute
rms_level_db = 0.0
class-attribute
instance-attribute
rms_peak_db = 0.0
class-attribute
instance-attribute
rms_trough_db = 0.0
class-attribute
instance-attribute
__init__
DitherType
Bases: IntEnum
FFMPEG Dither Methods, see https://ffmpeg.org/ffmpeg-resampler.html#Resampler-Options
Source code in muxtools/utils/types.py
F_WEIGHTED = 8
class-attribute
instance-attribute
HIGH_SHIBATA = 7
class-attribute
instance-attribute
IMPROVED_E_WEIGHTED = 10
class-attribute
instance-attribute
LIPSHITZ = 4
class-attribute
instance-attribute
LOW_SHIBATA = 6
class-attribute
instance-attribute
MODIFIED_E_WEIGHTED = 9
class-attribute
instance-attribute
RECTANGULAR = 1
class-attribute
instance-attribute
SHIBATA = 5
class-attribute
instance-attribute
TRIANGULAR = 2
class-attribute
instance-attribute
TRIANGULAR_HP = 3
class-attribute
instance-attribute
LossyWavQuality
Bases: IntEnum
LossyWAV Quality presets, see https://wiki.hydrogenaud.io/index.php?title=LossyWAV#Quality_presets
TL;DR: Insane the least lossy, ExtraPortable the most lossy.
Source code in muxtools/utils/types.py
ECONOMIC = 5
class-attribute
instance-attribute
EXTRAPORTABLE = 7
class-attribute
instance-attribute
EXTREME = 2
class-attribute
instance-attribute
HIGH = 3
class-attribute
instance-attribute
INSANE = 1
class-attribute
instance-attribute
PORTABLE = 6
class-attribute
instance-attribute
STANDARD = 4
class-attribute
instance-attribute
TimeScale
Bases: IntEnum
Convenience enum for some common timescales.
Source code in muxtools/utils/types.py
M2TS = 90000
class-attribute
instance-attribute
Typical m2ts timescale
MATROSKA = MKV
class-attribute
instance-attribute
Alias for MKV
MKV = 1000
class-attribute
instance-attribute
Typical matroska timescale
TrackType
Bases: IntEnum
Source code in muxtools/utils/types.py
ATTACHMENT = 4
class-attribute
instance-attribute
AUDIO = 2
class-attribute
instance-attribute
CHAPTERS = 5
class-attribute
instance-attribute
MKV = 6
class-attribute
instance-attribute
SUB = 3
class-attribute
instance-attribute
VIDEO = 1
class-attribute
instance-attribute
ValidInputType
Bases: IntEnum
Source code in muxtools/utils/types.py
FLAC = 1
class-attribute
instance-attribute
RF64 = 4
class-attribute
instance-attribute
RF64_OR_FLAC = 7
class-attribute
instance-attribute
W64 = 3
class-attribute
instance-attribute
W64_OR_FLAC = 6
class-attribute
instance-attribute
allows_flac
VideoMeta
dataclass
Source code in muxtools/utils/types.py
fps
instance-attribute
pts
instance-attribute
source
instance-attribute
timescale
instance-attribute
__init__
from_json
staticmethod
qAAC_MODE
Bases: IntEnum