捷徑

ffmpeg_utils

用於變更 FFmpeg 函式庫(例如 libavformat)設定的模組。

它會影響 torchaudio.io 中的功能(並間接影響 torchaudio.load())。

clear_cuda_context_cache

torchaudio.utils.ffmpeg_utils.clear_cuda_context_cache()[原始碼]

清除 CUDA 硬體加速視訊解碼使用的 CUDA 環境

get_audio_decoders

torchaudio.utils.ffmpeg_utils.get_audio_decoders() Dict[str, str][原始碼]

取得可用的音訊解碼器。

返回:

從解碼器簡短名稱到完整名稱的對應。

返回類型:

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][原始碼]

取得可用的音訊編碼器。

返回:

從編碼器簡短名稱到完整名稱的對應。

返回類型:

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[原始碼]

取得 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][原始碼]

取得可用的解多工器。

返回:

從解多工器(格式)簡短名稱到完整名稱的對應。

返回類型:

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][原始碼]

取得可用的輸入裝置。

返回:

從裝置簡短名稱到完整名稱的對應。

返回類型:

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][原始碼]

取得支援的輸入協定。

返回:

支援的輸入協定名稱

返回類型:

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[原始碼]

取得 FFmpeg 的日誌層級。

請參閱 set_log_level() 以取得詳細資訊。

get_muxers

torchaudio.utils.ffmpeg_utils.get_muxers() Dict)[str, str][原始碼]

取得可用的多工器。

返回:

從多工器(格式)簡短名稱到完整名稱的對應。

返回類型:

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][原始碼]

取得可用的輸出裝置。

返回:

從裝置簡短名稱到完整名稱的對應。

返回類型:

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][原始碼]

取得支援的輸出協定。

返回:

支援的輸出協定名稱

返回類型:

字串清單

範例
>>> 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]][原始碼]

取得 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][原始碼]

取得可用的視訊解碼器。

返回:

從解碼器簡短名稱到完整名稱的對應。

返回類型:

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][原始碼]

取得可用的視訊編碼器。

返回:

從編碼器簡短名稱到完整名稱的對應。

返回類型:

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)[原始碼]

設定 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 的完整開發人員文件

檢視文件

教學

取得初學者和進階開發人員的深入教學課程

檢視教學

資源

尋找開發資源並獲得問題解答

檢視資源