使用ImageMagick从MPEG4中提取每n帧



我想尝试从一个超过6分钟长的大型MPEG4文件(20.1MB)中提取第n帧。但是,如果我尝试这样做:

convert video.mp4 *.png

我的电脑完全死机了。所以我想尝试通过只从MPEG4文件中提取每n帧来节省一些时间和计算能力,而不是提取超过8000张图像。如何才能做到这一点?

我会用" ffmpeg"来做这个。以X间隔提取PNG图像的命令可以像下面这样简单…

ffmpeg -i input.mp4 -r 1 out%04d.png

使用-r 1选项将输出帧率设置为每秒1。假设输入视频的帧率为每秒25帧,则-r 1选项大约每25帧输出一次。根据输入的帧率计算所需的间隔。例如,要获得大约每10帧,使用-r 2.5

本例中的输出文件名包含%04d,它创建一个带有四位数字的编号序列,其中填充了前导零。

VLC Media player可以这样做:

  1. 以Administrator身份运行VLC

  2. 单击VLC中的工具-首选项。

  3. 在"显示设置"下,点击"全部"。

  4. 在"视频"下选择"滤镜",但不要展开它。勾选"场景视频过滤器"复选框。

  5. 展开"滤镜",选择"场景滤镜",

  6. 给出输出路径

  7. 设置"录音比率"框的例子10,20等

  8. 单击"保存"。

  9. 点击媒体-打开视频,找到您的视频。耐心地让事情发展。VLC将自动捕获帧并保存到输出路径。

  10. 禁用:单击工具-首选项。在"显示设置"下,点击"全部"。在"视频"下选择"滤镜"。取消选中"场景视频过滤器"。单击"保存"。

相关内容

  • 没有找到相关文章

最新更新