我使用 PyAV 库,因为它是 Python 中最常用的库之一。
这是我想使用的代码的简单示例:
import av
video = av.open("My_Super_Video.mp4")
total_frames = # ????
for i, frame in enumerate(video.decode(video=0)):
img = frame.to_image() # PIL image
print("Frame: %d/%d ..." % (i, total_frames))
我显然可以使用其他库来加载库,但是由于它的处理速度,如果可能的话,我更喜欢使用 PyAV。
问题1:是否可以使用 PyAV 获得帧数?如果是,如何?
问题2:在这种情况下,我会考虑使用另一个库来逐帧加载和处理视频。哪个库可以让我以尽可能快的速度完成上述操作。我知道以下内容,但不知道它们如何比较:
- PIMS在 PyAV 之上,可以添加一些有趣的功能吗?
- MoviePy(仅限于适合 RAM 的视频),但是 perf 呢?
- Imageio(可能与上述相同的限制),但是 perf 呢?
- OpenCV(可能与上述相同的限制),但是 perf 呢?
- 其他的 ?