加快从视频文件中读取帧
Speed up reading frames from a video file
OpenCV 是否有任何方法可以并行读取视频文件中的帧或以其他方式加快读取速度?
我曾尝试在多线程中使用 cap.read(frame)
函数,但应用程序崩溃了。
我还尝试使用 VideoCapture
对象数组 cap
s,所有这些都引用相同的视频文件,然后在每个线程中我可以使用 caps[i].read(frame)
这样我就可以并行读取,但我只是多次阅读同一帧。
除了更改视频格式外,我还没有找到任何其他加快阅读速度的方法。我将其更改为 HapQ(原始格式为 Apple ProRes H422)并且性能明显更好,速度提高了约 30%(读取帧为 20-25 毫秒,而之前为 30-35 毫秒)。
OpenCV 是否有任何方法可以并行读取视频文件中的帧或以其他方式加快读取速度?
我曾尝试在多线程中使用 cap.read(frame)
函数,但应用程序崩溃了。
我还尝试使用 VideoCapture
对象数组 cap
s,所有这些都引用相同的视频文件,然后在每个线程中我可以使用 caps[i].read(frame)
这样我就可以并行读取,但我只是多次阅读同一帧。
除了更改视频格式外,我还没有找到任何其他加快阅读速度的方法。我将其更改为 HapQ(原始格式为 Apple ProRes H422)并且性能明显更好,速度提高了约 30%(读取帧为 20-25 毫秒,而之前为 30-35 毫秒)。