sti*_*tib 96
用ffmpeg非常简单,每N秒就可以输出一帧,不需要额外的脚本。要导出为图像序列,只需使用myimage_%04d.png
或类似作为输出。该%0xd
位被转换为一个用零填充的整数x
数字长 - 我给出的例子得到输出为
myimage_0000.png
,
myimage_0001.png
,
myimage_0002.png
等等..
您可以使用许多静止图像格式,png、jpeg、tga 等(请参阅ffmpeg -formats
完整列表)。
好的,现在我们知道如何将电影导出为一系列图像,但是说我们不想导出每一帧?
诀窍是简单地使用每秒帧数的-r n
选项将输出的帧速率更改为我们想要的任何n
值。每秒-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
Run Code Online (Sandbox Code Playgroud)
需要注意的是,-r 0.25
选择进入后的-i input.mov
部分,因为它控制的帧速率输出。如果将它放在输入之前,它会将输入文件视为具有指定的帧速率。
在%XD改为然而,许多你需要的数字,例如,如果该命令会创造超过10,000帧改变%04d
来%05d
。这也适用于图像序列的输入文件。在这里阅读更多。
Windows 用户:在命令行上使用%
例子: ffmpeg -i inputFile.mp4 -r 1 outputFile_%02d.png
在 CMD 和 BAT 脚本中使用 %%
例子: ffmpeg -i inputFile.mp4 -r 1 outputFile %%02d.png
所以%%
在脚本中加倍,%
在交互式命令行上单选。在任何一种情况下出错都会产生错误。
编辑值得在下面的评论中查看文件类型的讨论。各有优缺点:
要指定文件格式,只需在输出文件中使用所需的扩展名,例如myimage_%04d.jpg
,myimage_%04d.png
或myimage_%04d.tiff
Lia*_*iam 32
mplayer -vo jpeg -sstep 5 file.avi
Run Code Online (Sandbox Code Playgroud)
每 5 秒将帧保存为 jpeg 文件。
但是,它不会在文件末尾停止,而是会继续生成最后一帧的副本。为避免这种情况,请使用其他播放器或 mplayer 以秒为单位找到视频的持续时间:
mplayer -vo null -ao null -frames 0 -identify file.avi
Run Code Online (Sandbox Code Playgroud)
并寻找像“ID_LENGTH=147.00”这样的行。
从长度中减去 2,并将此值用于-endpos
选项。例如,对于 147 秒的视频:
mplayer -vo jpeg -sstep 5 -endpos 145 file.avi
Run Code Online (Sandbox Code Playgroud)
Nif*_*fle 15
使用ffmpeg
,您可以执行以下操作:
ffmpeg -ss 4 -i input.avi -s 320x240 -frames:v 1 output.jpg
Run Code Online (Sandbox Code Playgroud)
此命令在视频的第 4 秒生成一个 320×240 大小的 JPG 缩略图。把它放在一个改变时间和文件名的脚本中,你就完成了。
更多信息:每 X 秒创建一个视频缩略图
如果您正在寻找一种联系表,并且您正在使用类 Unix 的操作系统,则可以使用这个精心设计的脚本,称为视频联系表 *NIX,简称vcs。
在后台它也使用ffmpeg
(默认情况下) or mplayer
,因此可以处理很多视频格式。它自动执行从电影中捕获静止图像的过程,并将这些图像合成为带有一些页眉和页脚的图像。您可以选择例如您想要的捕获数量或它们之间的时间差。
对于 10 分钟的间隔,调用是这样的:
vcs -i 10m input.avi
Run Code Online (Sandbox Code Playgroud)
这是一个示例联系表,取自主页:
使用 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
Run Code Online (Sandbox Code Playgroud)
上面保存了每 24 帧中的 1 个(--scene-ratio=24),从 00:00:10 开始到 00:00:11 结束。
刚刚测试并确认这适用于全新的 Windows 8 安装上的 VLC 2.0.3(我没有额外的视频插件或软件)。
完整文档:http : //wiki.videolan.org/How_to_create_thumbnails
归档时间: |
|
查看次数: |
189699 次 |
最近记录: |