您可能会认为这将是一个如此简单的操作,但文档中没有关于如何获取视频剪辑中的帧数的任何内容。我能想到的唯一方法是使用iter_frames()
并一一计算帧数,但由于某种原因,即使我没有对它们执行任何操作,它也需要将近一秒钟的时间来遍历 15 帧视频。
问问题
8914 次
4 回答
18
事实证明,moviepy 不保存单个帧数据,因此它不存储确切的帧数。这是我发现获得近似值的最佳方法:
frames = int(clip.fps * clip.duration)
于 2016-06-03T20:35:44.313 回答
13
好的所以我最近偶然发现了上述问题。事实证明,目前有一种方法可以通过简单地访问来获取剪辑中的总帧数clip.reader.nframes
因此,总体而言,访问帧数的代码如下所示:
clip = VideoFileClip('video.mp4')
n_frames = clip.reader.nframes
于 2019-08-30T23:04:20.937 回答
7
使用此代码对我来说非常快:
clip = VideoFileClip('test.mp4')
n_frames = sum(1 for x in clip.iter_frames())
print n_frames
于 2016-06-03T22:46:58.713 回答
1
这可能会快一点。
clip = VideoFileClip('video.mp4')
num_frames = len(list(clip.iter_frames()))
print(num_frames)
于 2018-08-07T17:32:33.880 回答