【发布时间】:2020-09-20 19:34:14
【问题描述】:
我正在使用skvideo.io.vread阅读视频
import skvideo.io
video_frames = skvideo.io.vread(video_filepath)
我的视频帧速率为 50fps。但我想以 4fps 的速度阅读视频,我的意思是我每秒只需要阅读 4 帧的视频。是否有任何选项可以以指定的帧速率读取,还是我必须手动丢弃读取的额外帧?
【问题讨论】:
我正在使用skvideo.io.vread阅读视频
import skvideo.io
video_frames = skvideo.io.vread(video_filepath)
我的视频帧速率为 50fps。但我想以 4fps 的速度阅读视频,我的意思是我每秒只需要阅读 4 帧的视频。是否有任何选项可以以指定的帧速率读取,还是我必须手动丢弃读取的额外帧?
【问题讨论】:
skvideo.io.vread 接受字典形式的输入参数。所以,你可以像这样传递帧率:
import skvideo.io
video_frames = skvideo.io.vread(video_filepath, inputdict={'-r' : 4}) # Specify frame rate
【讨论】:
您很可能不得不手动丢弃多余的帧。
尽管您可以尝试:vread 的文档说您可以将 inputdict 作为参数传入,该参数将传递给 FFMpeg 阅读器。 This example 显示了读者如何设置速率。不过,我认为这很可能会导致视频加速或减速。
import skvideo.io
rate = 4
video_frames = skvideo.io.vread(video_filepath, \
inputdict={'-r': rate})
【讨论】: