快捷方式

AudioDecoder

class torchcodec.decoders.AudioDecoder(source: Union[str, Path, RawIOBase, BufferedReader, bytes, Tensor], *, stream_index: Optional[int] = None, sample_rate: Optional[int] = None)[源码]

一个单流音频解码器。

它可以用于解码纯音频文件(例如 mp3、wav 等)中的音频,或解码包含音频流的视频(例如 mp4 视频)中的音频。

返回的样本是归一化到 [-1, 1] 的浮点样本

参数:
  • source (str, Pathlib.path, bytes, torch.Tensor 或类文件对象) –

    视频或音频的来源

    • 如果为 str:本地路径或视频或音频文件的 URL。

    • 如果为 Pathlib.path:本地视频或音频文件的路径。

    • 如果为 bytes 对象或 torch.Tensor:原始编码音频数据。

    • 如果为类文件对象:我们按需从对象读取视频数据。对象必须公开 read(self, size: int) -> bytesseek(self, offset: int, whence: int) -> bytes 方法。更多信息请参见:通过类文件支持流式传输数据

  • stream_index (int, 可选) – 指定从文件中的哪个流解码样本。请注意,此索引在所有媒体类型中是绝对的。如果未指定,则使用最佳流

  • sample_rate (int, 可选) – 解码样本的期望输出采样率。默认情况下,样本以其原始采样率返回。

变量:
  • metadata (AudioStreamMetadata) – 音频流的元数据。

  • stream_index (int) – 此解码器正在从中检索样本的流索引。如果在初始化时提供了流索引,则此值相同。如果未指定,则使用最佳流

使用 AudioDecoder 的示例

使用 AudioDecoder 解码音频流

使用 AudioDecoder 解码音频流

通过类文件支持流式传输数据

通过类文件支持流式传输数据
get_all_samples() AudioSamples[源码]

返回源中的所有音频样本。

要解码特定范围内的样本,请使用 get_samples_played_in_range()

返回:

文件中的样本。

返回类型:

AudioSamples

get_samples_played_in_range(start_seconds: float = 0.0, stop_seconds: Optional[float] = None) AudioSamples[源码]

返回给定范围内的音频样本。

样本位于半开区间 [start_seconds, stop_seconds) 内。

要解码从头到尾的所有样本,可以在调用此方法时将 start_secondsstop_seconds 保留为默认值,或使用 get_all_samples() 作为更方便的别名。

参数:
  • start_seconds (float) – 范围开始的时间(秒)。默认值: 0。

  • stop_seconds (floatNone) – 范围结束的时间(秒)。作为半开区间,不包含结束时间。默认值: None,解码直到结束。

返回:

指定范围内的样本。

返回类型:

AudioSamples

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源