meta-pytorch/torchcodec
Media decoding and encoding for PyTorch: videos, images, and audio, on CPU and GPU.
解决的问题
TorchCodec 提供了一种将媒体文件(视频、音频和图像)直接解码并编码为 PyTorch 张量的 PyTorch 原生方式。它消除了手动使用 FFmpeg 的复杂性,并确保媒体数据无需繁琐的转换步骤即可为机器学习模型做好准备。
工作原理
该库抽象了视频和音频处理中 FFmpeg 的复杂性,同时为图像提供了专用解码器。它提供反映 PyTorch 惯例的 Pythonic API,允许用户在 CPU 或 CUDA GPU 上将媒体加载为张量。它支持视频流的基于时间的索引和元数据提取。
适用对象
需要在基于 PyTorch 的工作流中高效加载和处理媒体数据进行训练或推理的 ML 工程师和研究人员。
亮点
- PyTorch 集成:以张量形式返回数据,使其与 PyTorch transforms 和模型训练兼容。
- 硬件加速:支持在 CPU 和 CUDA GPU(包括 NVDEC/NVENC)上进行解码和编码。
- 灵活的索引:为视频帧提供简单的索引、基于时间的索引和 PTS (Presentation Time Stamp) 获取。
- 广泛的格式支持:处理各种图像格式(JPEG, PNG, WebP, GIF, AVIF, HEIC)以及通过 FFmpeg 处理的视频/音频。
相关
- 项目
- 项目
- 项目
- 项目
- 项目