加快从视频文件中读取帧的速度

问题描述

OpenCV 有没有办法从视频文件中并行读取帧或以其他方式加快读取速度?

我尝试在多个线程中使用 cap.read(frame) 函数,但应用程序崩溃。

我还尝试使用 VideoCapture 对象数组 cap,所有这些都引用相同的视频文件,然后在每个线程中我都可以使用 caps[i].read(frame),因此我可以并行读取,但是我只需多次读取同一帧。

解决方法

除了更改视频格式之外,我还没有找到任何其他方法可以加快阅读速度。我将其更改为 HapQ(原始格式为 Apple ProRes H422),性能明显更好,速度提高了约 30%(读取帧为 20-25 毫秒,而之前为 30-35 毫秒)。