包链接:https://github.com/dmlc/decord
我使用装饰来提取帧,它做得很好,默认情况下它使用视频fps。假设我需要提取0.2 fps的帧。
我有一个48秒的视频,它的fps是30。当我提取的时候我得到了1440帧
但是,我需要指定像0.2那样的fps,所以输出应该是10帧。
PS。在ffmpeg中,我们可以在提取时指定fps。我也是这样问的。
我的代码:
from decord import VideoReader
from matplotlib import pyplot as plt
vr = VideoReader("nature.mp4")
vr._avg_fps = 0.2 ##Not worked
for i in range(len(vr)):
frame = vr[i].asnumpy()
plt.imsave(f'{name}_Frame_{i}.jpg',frame)助赏
发布于 2020-09-30 09:37:06
也许你可以跳过这样的帧:
from decord import VideoReader
from matplotlib import pyplot as plt
vr = VideoReader("nature.mp4")
avg_fps = 0.2
for i in range(0, 1500, int(30/min(30,avg_fps))):
frame = vr[i].asnumpy()
plt.imsave(f'{name}_Frame_{i}.jpg',frame)https://stackoverflow.com/questions/64134696
复制相似问题