Answers:
使用ffmpeg非常简单,它可以每N秒输出一帧而无需额外的脚本。要导出为图像序列,只需使用myimage_%04d.png
或类似于输出。该%0xd
位转换为零填充整数x
位 - 我给出的示例输出为myimage_0000.png myimage_0001.png等。您可以使用大量静态图像格式,png,jpeg,tga等等(请参阅ffmpeg -formats
完整列表)。
好吧,为了导出为图像序列,我们可以使用图像格式作为带有顺序文件名的输出,但我们不想导出每一帧。因此,只需使用-r n
选项将输出的帧速率更改为我们想要的任何n
值,其中是每秒帧数。每秒1帧-r 1
,每四秒钟-r 0.25
一帧,每十秒钟一帧-r 0.1
,依此类推。
所以要把它们放在一起,这就是每四秒钟将一帧input.mov保存到output_0000.png,output_0001.png等:
ffmpeg -i input.mov -r 0.25 output_%04d.png
将%xd更改为您需要的多个数字,例如,如果命令创建的帧数超过10,000,则更%04d
改为%05d
。这也适用于作为图像序列的输入文件。在这里阅读更多。
Windows用户:在命令行上使用 %
例: ffmpeg -i inputFile.mp4 -r 1 outputFile_%02d.png
在CMD和BAT Scripts中使用 %%
例: ffmpeg -i inputFile.mp4 -r 1 outputFile %%02d.png
不要%
在脚本中只使用一个,也不要%%
在命令行中使用。这两种情况都会产生错误。
-r
如果我想导出每一帧,我应该投入什么?如果我知道视频的FPS,我想我输入了,但如果我不这样做呢?
jpegs
它png
。在我的情况下,jpeg
每个大约50kb,png
s约为2MB。
-q:v 1
是一个非常有用的选项,如superuser.com/questions/318845 / ...
mplayer -vo jpeg -sstep 5 file.avi
将每隔5秒将帧保存为jpeg文件。
但是,它不会在文件末尾停止,它将继续生成最后一帧的副本。要避免这种情况,请使用其他播放器或mplayer查找视频的持续时间(以秒为单位):
mplayer -vo null -ao null -frames 0 -identify file.avi
并寻找像“ID_LENGTH = 147.00”这样的行。
从长度中减去2,并将该值用于该-endpos
选项。例如,对于147秒的视频:
mplayer -vo jpeg -sstep 5 -endpos 145 file.avi
有了ffmpeg
,您可以执行以下操作:
ffmpeg -ss 4 -i input.avi -s 320x240 -frames:v 1 output.jpg
此命令在视频的第4秒生成320×240大小的JPG缩略图。把它放在一个更改时间和文件名的脚本中,你就完成了。
更多信息:每隔X秒创建一个缩略图图像
-ss position
标志进一步搜索文件,它会有帮助吗?-ss Seek to given time position in seconds. hh:mm:ss[.xxx] syntax is also supported
使用VLC 1.1.0及更高版本,您可以使用场景视频过滤器:
vlc C:\video\to\process.mp4 --rate=1 --video-filter=scene --vout=dummy --start-time=10 --stop-time=11 --scene-format=png --scene-ratio=24 --scene-prefix=snap --scene-path=C:\path\for\snapshots\ vlc://quit
以上节省了每24帧中的1帧(--scene-ratio = 24),从00:00:10开始到00:00:11结束。
刚刚测试并确认这适用于新的Windows 8安装上的VLC 2.0.3(我没有额外的视频插件或软件)。
VirtualDub可以为您完成此操作
File
- > Export
- >Image sequence
你也可以试试这个
来自VLC命令行......
vlc“C:\ YOUR \ file \ path \ file.avi”-V image --image-out-prefix = capname --image-out-ratio = 60
file.avi是您要捕获的视频,capname是已保存图像的前缀,您可能想要使用该比率(60表示捕获60个图像中的1个)您可以添加更多命令,例如--image-out-format jpeg会将你的大写字母保存为jpegs而不是pngs, - 快照路径可让你选择保存大写字母的位置。