简体   繁体   English

如何在 python 装饰库中设置 fps?

[英]How to set fps in python decord library?

package link : https://github.com/dmlc/decord包链接: https : //github.com/dmlc/decord

I am using decord to extract frames and it does a good job, by default it uses video fps.我正在使用 Decod 来提取帧,它做得很好,默认情况下它使用视频 fps。 Lets say i need to extract frame at 0.2 fps.假设我需要以 0.2 fps 提取帧。

example : i have a video at 48 seconds and its fps is 30. when i extract i get 1440 frames示例:我有一个 48 秒的视频,它的 fps 是 30。当我提取时,我得到 1440 帧

But, I need to specify the fps like 0.2 so , the output should be 10 frames.但是,我需要指定像0.2这样的 fps,所以输出应该是 10 帧。

PS.附注。 In ffmpeg, we can specify the fps while extracting.在ffmpeg中,我们可以在提取时指定fps。 I am asking in the same way.我也是这样问的。

My code:我的代码:

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)

Help appreciated帮助表示赞赏

maybe you can skip frame like this:也许你可以像这样跳过帧:

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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM