快捷方式

ffmpeg_utils

用于更改 FFmpeg 库(例如 libavformat)配置的模块。

它影响 torchaudio.io 中的功能(以及间接影响 torchaudio.load())。

clear_cuda_context_cache

torchaudio.utils.ffmpeg_utils.clear_cuda_context_cache()[source]

清除 CUDA 硬件加速视频解码使用的 CUDA 上下文

get_audio_decoders

torchaudio.utils.ffmpeg_utils.get_audio_decoders() Dict[str, str][source]

获取可用的音频解码器。

返回值:

从解码器短名称到长名称的映射。

返回类型:

Dict[str, str]

示例
>>> for k, v in get_audio_decoders().items():
>>>     print(f"{k}: {v}")
... a64: a64 - video for Commodore 64
... ac3: raw AC-3
... adts: ADTS AAC (Advanced Audio Coding)
... adx: CRI ADX
... aiff: Audio IFF

get_audio_encoders

torchaudio.utils.ffmpeg_utils.get_audio_encoders() Dict[str, str][source]

获取可用的音频编码器。

返回值:

从编码器短名称到长名称的映射。

返回类型:

Dict[str, str]

示例
>>> for k, v in get_audio_encoders().items():
>>>     print(f"{k}: {v}")
... comfortnoise: RFC 3389 comfort noise generator
... s302m: SMPTE 302M
... aac: AAC (Advanced Audio Coding)
... ac3: ATSC A/52A (AC-3)
... ac3_fixed: ATSC A/52A (AC-3)
... alac: ALAC (Apple Lossless Audio Codec)

get_build_config

torchaudio.utils.ffmpeg_utils.get_build_config() str[source]

获取 FFmpeg 构建配置

返回值:

构建配置字符串。

返回类型:

str

示例
>>> print(get_build_config())
--prefix=/Users/runner/miniforge3 --cc=arm64-apple-darwin20.0.0-clang --enable-gpl --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-neon --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvtav1 --enable-libxml2 --enable-libvpx --enable-pic --enable-pthreads --enable-shared --disable-static --enable-version3 --enable-zlib --enable-libmp3lame --pkg-config=/Users/runner/miniforge3/conda-bld/ffmpeg_1646229390493/_build_env/bin/pkg-config --enable-cross-compile --arch=arm64 --target-os=darwin --cross-prefix=arm64-apple-darwin20.0.0- --host-cc=/Users/runner/miniforge3/conda-bld/ffmpeg_1646229390493/_build_env/bin/x86_64-apple-darwin13.4.0-clang  # noqa

get_demuxers

torchaudio.utils.ffmpeg_utils.get_demuxers() Dict[str, str][source]

获取可用的解复用器。

返回值:

从解复用器(格式)短名称到长名称的映射。

返回类型:

Dict[str, str]

示例
>>> for k, v in get_demuxers().items():
>>>     print(f"{k}: {v}")
... aa: Audible AA format files
... aac: raw ADTS AAC (Advanced Audio Coding)
... aax: CRI AAX
... ac3: raw AC-3

get_input_devices

torchaudio.utils.ffmpeg_utils.get_input_devices() Dict[str, str][source]

获取可用的输入设备。

返回值:

从设备短名称到长名称的映射。

返回类型:

Dict[str, str]

示例
>>> for k, v in get_input_devices().items():
>>>     print(f"{k}: {v}")
... avfoundation: AVFoundation input device
... lavfi: Libavfilter virtual input device

get_input_protocols

torchaudio.utils.ffmpeg_utils.get_input_protocols() List[str][source]

获取支持的输入协议。

返回值:

支持的输入协议名称

返回类型:

List[str]

示例
>>> print(get_input_protocols())
... ['file', 'ftp', 'hls', 'http','https', 'pipe', 'rtmp', 'tcp', 'tls', 'udp', 'unix']

get_log_level

torchaudio.utils.ffmpeg_utils.get_log_level() int[source]

获取 FFmpeg 的日志级别。

详见 set_log_level()

get_muxers

torchaudio.utils.ffmpeg_utils.get_muxers() Dict[str, str][source]

获取可用的复用器。

返回值:

从复用器(格式)短名称到长名称的映射。

返回类型:

Dict[str, str]

示例
>>> for k, v in get_muxers().items():
>>>     print(f"{k}: {v}")
... a64: a64 - video for Commodore 64
... ac3: raw AC-3
... adts: ADTS AAC (Advanced Audio Coding)
... adx: CRI ADX
... aiff: Audio IFF

get_output_devices

torchaudio.utils.ffmpeg_utils.get_output_devices() Dict[str, str][source]

获取可用的输出设备。

返回值:

从设备短名称到长名称的映射。

返回类型:

Dict[str, str]

示例
>>> for k, v in get_output_devices().items():
>>>     print(f"{k}: {v}")
... audiotoolbox: AudioToolbox output device

get_output_protocols

torchaudio.utils.ffmpeg_utils.get_output_protocols() List[str][source]

获取支持的输出协议。

返回值:

支持的输出协议名称

返回类型:

list of str

示例
>>> print(get_output_protocols())
... ['file', 'ftp', 'http', 'https', 'md5', 'pipe', 'prompeg', 'rtmp', 'tee', 'tcp', 'tls', 'udp', 'unix']

get_versions

torchaudio.utils.ffmpeg_utils.get_versions() Dict[str, Tuple[int]][source]

获取 FFmpeg 库的版本

返回值:

库名称到版本字符串的映射,

例如 “libavutil”: (56, 22, 100)

返回类型:

dict

使用 get_versions 的教程
AudioEffector Usages

AudioEffector 用法

AudioEffector 用法
Accelerated video encoding with NVENC

使用 NVENC 进行加速视频编码

使用 NVENC 进行加速视频编码
StreamWriter Basic Usage

StreamWriter 基本用法

StreamWriter 基本用法
Accelerated video decoding with NVDEC

使用 NVDEC 进行加速视频解码

使用 NVDEC 进行加速视频解码

get_video_decoders

torchaudio.utils.ffmpeg_utils.get_video_decoders() Dict[str, str][source]

获取可用的视频解码器。

返回值:

从解码器短名称到长名称的映射。

返回类型:

Dict[str, str]

示例
>>> for k, v in get_video_decoders().items():
>>>     print(f"{k}: {v}")
... aasc: Autodesk RLE
... aic: Apple Intermediate Codec
... alias_pix: Alias/Wavefront PIX image
... agm: Amuse Graphics Movie
... amv: AMV Video
... anm: Deluxe Paint Animation
使用 get_video_decoders 的教程
Accelerated video decoding with NVDEC

使用 NVDEC 进行加速视频解码

使用 NVDEC 进行加速视频解码

get_video_encoders

torchaudio.utils.ffmpeg_utils.get_video_encoders() Dict[str, str][source]

获取可用的视频编码器。

返回值:

从编码器短名称到长名称的映射。

返回类型:

Dict[str, str]

示例
>>> for k, v in get_audio_encoders().items():
>>>     print(f"{k}: {v}")
... a64multi: Multicolor charset for Commodore 64
... a64multi5: Multicolor charset for Commodore 64, extended with 5th color (colram)
... alias_pix: Alias/Wavefront PIX image
... amv: AMV Video
... apng: APNG (Animated Portable Network Graphics) image
... asv1: ASUS V1
... asv2: ASUS V2
使用 get_video_encoders 的教程
Accelerated video encoding with NVENC

使用 NVENC 进行加速视频编码

使用 NVENC 进行加速视频编码

set_log_level

torchaudio.utils.ffmpeg_utils.set_log_level(level: int)[source]

设置 FFmpeg (libavformat 等) 的日志级别

参数:

level (int) –

日志级别。值越大,日志越详细。

以下是常用值、对应的 ffmpeg-loglevel 选项值和说明。

  • -8 (quiet):不打印任何输出。

  • 0 (panic):发生严重错误,程序即将崩溃。

  • 8 (fatal):发生错误且无法恢复。例如,依赖头部的格式未找到头部,或使用了非法的参数组合。

  • 16 (error):发生错误且无法无损恢复。但并非所有后续数据都会受到影响。

  • 24 (warning):某些地方看起来不正确。这可能导致问题,也可能不会。

  • 32 (info):标准信息。

  • 40 (verbose):详细信息。

  • 48 (debug):仅对 libav* 开发者有用的信息。

  • 56 (trace):极其详细的调试信息,对 libav* 开发有用。

使用 set_log_level 的教程
Accelerated video encoding with NVENC

使用 NVENC 进行加速视频编码

使用 NVENC 进行加速视频编码

文档

查阅 PyTorch 的完整开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

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

查看资源