TorchCodec使用说明(v2.1)
1. 简介
TorchCodec 是面向 PyTorch 生态的视频编解码与媒体处理工具,旨在为深度学习场景提供更高效的数据读取、解码和集成能力,便于将视频数据更顺畅地接入模型训练与推理流程。并支持CUDA硬件加速的视频编解码能力。
官方文档:Welcome to the TorchCodec documentation! — TorchCodec 0.4 Documentation
项目repo:https://github.com/pytorch/torchcodec
PPU版本的TorchCodec基于社区TorchCodec源码进行兼容性适配。最新已经支持到了TorchCodec 0.9.1,支持平头哥pypi源安装(推荐)和源码编译。
请注意目前release的PPU TorchCodec版本和Torch版本的依赖关系:
TorchCodec版本 | Torch版本 | Python版本 |
0.9.1 | 2.9 | >=3.10, <=3.14 |
0.7.0 | 2.8 | >=3.9, <=3.13 |
0.4.0 | 2.7 | >=3.9, <=3.13 |
2. 安装指南
2.1 pypi源安装
PPU 平台维护了专属的 pypi 软件源。推荐使用平头哥 PPU pip 源安装TorchCodec。
# Torch 2.9
pip install torchcodec==0.9.1 -i https://art-pub.eng.t-head.cn/artifactory/api/pypi/pypi_index/simple --force-reinstall
# Torch 2.8
pip install torchcodec==0.7.0 -i https://art-pub.eng.t-head.cn/artifactory/api/pypi/pypi_index/simple --force-reinstall
# Torch 2.7
pip install torchcodec==0.4.0 -i https://art-pub.eng.t-head.cn/artifactory/api/pypi/pypi_index/simple --force-reinstall2.2 源码编译安装
若有特殊需求需要从源码编译安装, 请按照以下步骤搭建依赖环境并源码编译:
安装PPU PyTorch,请参考“PyTorch v2.9.0 用户指南”安装PyTorch。
安装PPU FFmpeg,请参考“Video FFmpeg使用指南”安装FFmpeg。
源码编译安装:
# release_tag: from git repo, v0.7.0 for instance
git clone -b <release_tag> https://github.com/pytorch/torchcodec.git
cd torchcodec/
git apply torchcodec_<release_tag>.patch
ENABLE_CUDA=1 I_CONFIRM_THIS_IS_NOT_A_LICENSE_VIOLATION=1 pip install . --no-build-isolation以下是各个版本的patch文件:
3. 使用指南
请参考社区官方的使用指南: https://meta-pytorch.org/torchcodec/stable/index.html
PPU上支持TorchCodec CUDA backend以及CUDA beta backend视频硬件解码加速。
使用示例:
python sample_torchcodec.pysample_torchcodec.py 源码示例:
import torch
print(f"{torch.__version__=}")
print(f"{torch.cuda.is_available()=}")
print(f"{torch.cuda.get_device_properties(0)=}")
import torchcodec
from torchcodec.decoders import VideoDecoder
decoder = VideoDecoder("sample.mp4", device="cuda")
frame = decoder[0]4. 已知问题
device='cuda'下不支持MPEG1,MPEG2,MPEG4,VC1,VP8等legacy格式。