cutcutcodec.core.compilation.export.compatibility.Compatibilities
- class cutcutcodec.core.compilation.export.compatibility.Compatibilities(*args, **kwargs)[source]
Link the muxers and the encoders.
- check(encoders: list[str], muxers: list[str], **kwargs) ndarray[str][source]
Check all the couples encoder/muxer (cartesian product).
Parameters
- encoderslist[str]
The encoder names.
- muxerslist[str]
The muxer (format) names.
- **kwargsdict
The optionals named parameters of
cutcutcodec.core.compilation.export.compatibility.audio_encodec_compatibilityandcutcutcodec.core.compilation.export.compatibility.video_encodec_compatibility.
Returns
- compatibility_matrixnp.ndarray[str]
The 2d boolean compatibility matrix. Item (i, j) contains the codec name of the encoder[i] with the muxer[j].
Examples
>>> from cutcutcodec.core.compilation.export.compatibility import Compatibilities >>> Compatibilities().check(["libx264", "libaom-av1", "libvorbis"], ["mp4", "ogg"]) array([['h264', ''], ['libdav1d', ''], ['vorbis', 'vorbis']], dtype='<U8') >>> Compatibilities().check([], []) array([], shape=(1, 0), dtype='<U1') >>> Compatibilities().check(["libx264"], []) array([], shape=(1, 0), dtype='<U1') >>> Compatibilities().check([], ["mp4"]) array([], shape=(1, 0), dtype='<U1') >>>
- codecs_audio(muxers: list[str] | None = None, **kwargs) dict[str, list[tuple[str, str]]][source]
Search all the compatibles audio codecs.
Parameters
- muxerslist[str]
The muxer (format) names.
- **kwargsdict
The optionals named parameters of
cutcutcodec.core.compilation.export.compatibility.audio_encodec_compatibility.
Returns
- codecsdict[str, list[tuple[str, str]]]
For all audio codec, associate the encoder/muxer pairs.
Examples
>>> from pprint import pprint >>> from cutcutcodec.core.compilation.export.compatibility import Compatibilities >>> pprint(Compatibilities().codecs_audio(layout="5.1")) {'aac': [('aac', '3g2'), ('aac', '3gp'), ('aac', 'adts'), ... ('aac', 'w64'), ('aac', 'wav'), ('aac', 'wtv')], ... 'wavpack': [('wavpack', 'matroska'), ('wavpack', 'nut'), ('wavpack', 'wv')]} >>>
- codecs_video(muxers: list[str] | None = None, **kwargs) dict[str, list[tuple[str, str]]][source]
Search all the compatibles video codecs.
Parameters
- muxerslist[str]
The muxer (format) names.
- **kwargsdict
The optionals named parameters of
cutcutcodec.core.compilation.export.compatibility.video_encodec_compatibility.
Returns
- codecsdict[str, list[tuple[str, str]]]
For all video codec, associate the encoder/muxer pairs.
Examples
>>> from fractions import Fraction >>> from pprint import pprint >>> from cutcutcodec.core.compilation.export.compatibility import Compatibilities >>> comp = Compatibilities().codecs_video(pix_fmt="yuv444p12le", rate=Fraction(120)) >>> pprint(comp["hevc"]) [('libx265', 'flv'), ... ('libx265', 'vob')] >>>
- encoders_audio(codec: str, muxers: list[str] | None = None, **kwargs) dict[str, set[str]][source]
Search all the compatible audio encoders.
Parameters
- codecstr
The audio codec name.
- muxerslist[str]
The muxer (format) names.
- **kwargsdict
The optionals named parameters of
cutcutcodec.core.compilation.export.compatibility.audio_encodec_compatibility.
Returns
- encodersdict[str, set[str]]
For all audio encoder, associate the available muxers.
Examples
>>> from pprint import pprint >>> from cutcutcodec.core.compilation.export.compatibility import Compatibilities >>> pprint(Compatibilities().encoders_audio("vorbis", layout="5.1")) {'libvorbis': {'asf', ... 'wtv'}} >>>
- encoders_video(codec: str, muxers: list[str] | None = None, **kwargs) dict[str, set[str]][source]
Search all the compatible video encoders.
Parameters
- codecstr
The video codec name.
- muxerslist[str]
The muxer (format) names.
- **kwargsdict
The optionals named parameters of
cutcutcodec.core.compilation.export.compatibility.video_encodec_compatibility.
Returns
- encodersdict[str, set[str]]
For all video encoder, associate the available muxers.
Examples
>>> from pprint import pprint >>> from cutcutcodec.core.compilation.export.compatibility import Compatibilities >>> pprint( ... Compatibilities().encoders_video("h264", pix_fmt="yuv420p") ... ) {'libx264': {'3g2', ... 'wtv'}} >>>
- muxers(encoder: str, **kwargs) frozenset[str][source]
Search all the compatibles muxers.
Parameters
- encoderstr
The encoder name.
- **kwargsdict
The optionals named parameters of
cutcutcodec.core.compilation.export.compatibility.Compatibilities.check.
Returns
- available_muxersfrozenset[str]
All the available muxers for the given encoder.
Examples
>>> from pprint import pprint >>> from cutcutcodec.core.compilation.export.compatibility import Compatibilities >>> pprint(Compatibilities().muxers("libx264")) frozenset({'3g2', '3gp', ... 'vob', 'wtv'}) >>>