我用格帧捕捉器生成缩略图视频库,即如下所示:
然而,这是一个 GUI 工具,我想为目录结构中的每个视频递归创建一个图库,所以我正在寻找一个快速的命令行工具来执行此操作。
答案1
拉出图像捕获(这些图像高 100 像素,并保持宽高比),速率 ( -r
) 为每秒(每约 5 分钟生成一帧),这还会为输出图像添加时间戳。
ffmpeg -i MOVIE.mp4 -r 0.0033 -vf scale=-1:120 -vcodec png capture-%002d.png
然后用于ImageMagick
构建您的画廊图像:
montage -title "Movie Name\nSubtitle" -geometry +4+4 capture*.png output.png
答案2
我喜欢使用一个易于使用的 unix 命令行 bash 脚本,称为 VCS - 视频联系表。他们的官方页面:http://p.outlyer.net/vcs/
它比 GUI 更容易使用
“这是一个 bash 脚本,旨在创建视频联系表(预览),又称视频缩略图或预览。该脚本可以使用 mplayer 和 ffmpeg 支持的任何视频。 '' 您需要在系统上安装ffmpeg
或。mplayer
用法:
vcs input-filename -U0 -i 1m -c 3 -H 200 -a 300/200 -o save-filename.jpg
该命令如何工作
将 input-filname 编辑为您的视频文件的名称!
-U0
(页脚中没有名称 - 否则它显示主机名 - 请注意这是零而不是字母O
)-i 1m
(以分钟为单位设置捕获时间间隔 - 在本例中为每分钟 - 您也可以使用-n
它来设置捕获数量,例如-n 21
将创建 21 个图像,但不要同时使用两者)-c
设置列数(这里是 3 列)-H 200 -a 300/200
(设置大小和宽高比,这样文件就不会太大 - 似乎你必须两者都做)-o filename.jpg
(使用.jpg
默认值,因为.png
太大 - 并将文件名更改为您选择的文件名之一!)
答案3
这个工具帮助了我(2019-02) - 并且它得到了维护。许多选项 - 网格、质量、字体、颜色、边框、间隔...
https://github.com/amietn/vcsi
创建视频联系表。视频接触表是由排列在网格上的视频捕获缩略图组成的图像。
你只需要 ffmpeg 和 python。
答案4
ffmpeg论坛有一个解决方案。
要制作多个屏幕截图并将它们放入单个图像文件中(创建图块),您可以使用 FFmpeg 的图块视频过滤器,如下所示:
ffmpeg -ss 00:00:10 -i movie.avi -vf 'select=not(mod(n\,1000)),scale=320:240,tile=2x3' out.png
这将在影片中寻找 10 秒,选择每 1000 帧,将其缩放到 320x240 像素,并在输出图像 out.png 中创建 2x3 的图块。
原帖在这里——http://ffmpeg.gusari.org/viewtopic.php?f=25&t=597