cutcutcodec.core.compilation.export.rate
Allow to suggest an appropriate rate.
Functions
|
Search the different sampling frequencies available by this encoder. |
|
Return the best compatible audio samplerate. |
|
Return the best compatible video framerate. |
Details
- cutcutcodec.core.compilation.export.rate.available_audio_rates(encoders: Iterable[str]) None | set[int][source]
Search the different sampling frequencies available by this encoder.
Parameters
- encoderslist[str]
The encoder name.
Returns
- ratesset[int] or None
The set of the available rates. The value None means their is no constraints. An empty set means there is not availaible or common rates.
Examples
>>> from cutcutcodec.core.compilation.export.rate import available_audio_rates >>> available_audio_rates([]) set() >>> sorted(available_audio_rates(["libmp3lame"])) [8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000] >>> sorted(available_audio_rates(["libopus"])) [8000, 12000, 16000, 24000, 48000] >>> print(available_audio_rates(["flac"])) None >>> sorted(available_audio_rates(["libmp3lame", "libopus"])) [8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000] >>>
- cutcutcodec.core.compilation.export.rate.suggest_audio_rate(stream: StreamAudio, choices: Iterable[int] | None = None) int[source]
Return the best compatible audio samplerate.
Parameters
- streamcutcutcodec.core.classes.stream_audio.StreamAudio
The stream that we want to encode.
- choicesset[int], optional
The possible rates. If provide, returns the most appropriate rate of this set. The value None means all rates are allowed. This selection could be generated from
cutcutcodec.core.compilation.export.rate.available_audio_rates.
Returns
- rateint
A suitable sampling rate compatible with the specified options.
Examples
>>> from cutcutcodec.core.compilation.export.rate import suggest_audio_rate >>> from cutcutcodec.core.io.read_ffmpeg import ContainerInputFFMPEG >>> from cutcutcodec.utils import get_project_root >>> audio = get_project_root() / "media" / "audio" / "narration_5_1.oga" >>> (stream,) = ContainerInputFFMPEG(audio).out_streams >>> suggest_audio_rate(stream) # no constraint 16000 >>> suggest_audio_rate(stream, [8000, 12000, 24000, 48000]) # constraint 24000 >>>
- cutcutcodec.core.compilation.export.rate.suggest_video_rate(stream: StreamVideo) Fraction[source]
Return the best compatible video framerate.
Parameters
- streamcutcutcodec.core.classes.stream_video.StreamVideo
The stream that we want to encode.
Returns
- rateFraction
An optimal frame rate.
Examples
>>> from cutcutcodec.core.compilation.export.rate import suggest_video_rate >>> from cutcutcodec.core.io.read_ffmpeg import ContainerInputFFMPEG >>> from cutcutcodec.utils import get_project_root >>> video = get_project_root() / "media" / "video" / "intro.webm" >>> stream = ContainerInputFFMPEG(video).out_select("video")[0] >>> suggest_video_rate(stream) Fraction(30000, 1001) >>>