如何使用 nvidia-dali 从特定 fps(例如 15fps)的视频中提取帧?

How to extract frames from videos at a certain fps (ex. 15fps) using nvidia-dali?

我尝试按照 DALI 的官方文档和示例进行操作。但是我对以下三个变量的含义和用法一头雾水-

  1. batch_size
  2. sequence_length
  3. n_iter

官方文档link- https://docs.nvidia.com/deeplearning/dali/user-guide/docs/examples/sequence_processing/video/video_reader_simple_example.html

提前致谢。

回答标题中的问题,DALI 使用默认设置从输入视频中加载所有帧。如果您的视频以 30 FPS 录制,您可以通过设置参数 stride=2(DALI 将跳过每一帧)将其读取为 15 FPS。

解释教程中变量的含义:

  1. batch_size: DALI算子可以在GPU上运行(设置device="gpu"时),GPU是为并行计算而设计的。 batch_size 变量告诉 DALI 要并行处理多少视频。
  2. sequence_length:告诉 DALI 将在输出中包含多少帧。
  3. n_iter: 仅供教程使用。下面示例中的循环将 运行 管道多次。