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 图像格式。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目