meta-pytorch/torchcodec
Media decoding and encoding for PyTorch: videos, images, and audio, on CPU and GPU.
解决的问题
TorchCodec 提供了一种 PyTorch 原生的方式,将媒体文件(视频、音频和图像)直接解码和编码为 PyTorch 张量。它消除了手动处理媒体编解码器和 FFmpeg 命令行工具的复杂性,使研究人员和开发者能够高效地将媒体数据输入到 ML 模型中进行训练或推理。
工作原理
TorchCodec 抽象了 FFmpeg 在视频和音频处理中的复杂性,同时提供了自己的图像解码器和编码器。它提供了符合 PyTorch 惯例的 Pythonic API,使用户能够对媒体文件进行基于时间的索引或基于帧的索引。该库支持 CPU 和 CUDA GPU 加速解码和编码,确保数据以张量形式返回,可直接用于 PyTorch 变换。
适用人群
它专为处理多模态数据的 ML 工程师和研究人员设计,特别是那些使用 PyTorch 对视频、音频或图像数据集进行训练或推理的用户。
亮点
- PyTorch 集成:数据以张量形式返回,与 PyTorch 生态系统无缝集成。
- 硬件加速:支持在 CPU 和 CUDA GPU(包括 NVDEC/NVENC)上进行解码和编码。
- 灵活索引:支持简单的帧索引、基于时间的索引(PTS)以及帧批处理。
- 广泛格式支持:利用 FFmpeg 广泛覆盖音视频格式,并支持 JPEG、PNG、WebP、GIF、AVIF 和 HEIC 图像格式。
相关
- 项目
- 项目
- 项目
- 项目
- 项目