我使用gframecatcher生成缩略图视频画廊,即像这样的东西:
但是,这是一个GUI工具,我想为目录结构中的每个视频递归创建一个图库,因此我正在寻找一种快速的命令行工具来做到这一点。
我使用gframecatcher生成缩略图视频画廊,即像这样的东西:
但是,这是一个GUI工具,我想为目录结构中的每个视频递归创建一个图库,因此我正在寻找一种快速的命令行工具来做到这一点。
Answers:
拉出图像捕获(这些图像高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
avconv
万一您不可ffmpeg
用(某些Ubuntu版本),其工作方式相同。
我喜欢使用称为VCS-Video Contact Sheet的易于使用的UNIX命令行bash脚本。他们的官方页面: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
太大,将其更改为您选择的文件名!)
这似乎很合适,它是免费的开放源代码,甚至可以在Windows上使用:)
它甚至具有高级的功能,例如可以选择足够接近但看起来不太模糊的帧,而不是盲目地按特定的时间间隔拾取任何帧,因此可以这样做:
您可以向其传递参数(-D6
),以便执行此操作:
另外,我真的很喜欢没有边界,因此图像可以稍大一些。
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瓦片。
这就是我在Mac上使用AWS EC2处理简单联系表的方式。
步骤#1:在Amazon Web Services上创建EC2实例
我用了:
Amazon Linux AMI 2015.03.1 (HVM), SSD Volume Type - ami-0d4cfd66
t2.medium
步骤2:配置实例
为了方便起见,所有操作都从我的mac机运行,但是您也可以仅从EC2命令行运行命令“ sudu su ...”。
ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "sudo su root; curl -O http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.latest.tar.gz"
ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "sudo su root; gunzip ffmpeg.static.64bit.latest.tar.gz"
ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "sudo su root; tar -xf ffmpeg.static.64bit.latest.tar"
用您的EC2 IP替换11.22.33.44。
步骤#3:处理视频
发送视频:
rsync -Pav -e 'ssh -i /local/path/to/key/your_ec2_key.pem pem' /Users/mdouma/Desktop/myVideo.mov ec2-user@11.22.33.44:/home/ec2-user/
将其处理为联系表:
ssh -i "/local/path/to/key/your_ec2_key.pem" ec2-user@11.22.33.44 "rm -f out.png ; ./ffmpeg -ss 00:00:00 -i myVideo.mov -vf 'select=not(mod(n\,1)),scale=113:111,crop=111:111,tile=18x36' out.png"
将/ Users / mdouma 更改为 本地根目录如果只希望每7帧一次,则将“,1”更改为其他数字,例如“,7”。将111更改为所需的大小
将其复制回我的mac:
rsync -Pav -e 'ssh -i /local/path/to/key/your_ec2_key.pem' ec2-user@11.22.33.44:/home/ec2-user/out.png /Users/mdouma/Desktop/out.png
open /Users/mdouma/Desktop/out.png
sudo su
是没有目的的。
该工具对我有所帮助(2019-02)-并且得到了维护。许多选项-网格,质量,字体,颜色,边框,间隔,...
https://github.com/amietn/vcsi
创建视频联系表。视频联系表是由排列在网格上的视频捕获缩略图组成的图像。
您只需要ffmpeg和python。
'imagemagick'软件包具有用于此类内容的实用程序。
http://www.imagemagick.org/用法/ thumbnails /
也有使用imagemajick的API库,用于多种语言。
convert
可能是最一般的一种。查看我链接到的第一页上的“ 常规缩略图创建 ”部分。
图腾-14.04和某些早期版本的Ubuntu的默认视频播放器-具有简单选项的菜单选项(在“编辑”菜单下,“创建屏幕截图库...”)。还有一个命令行等效项,称为“ totem-video-thumbnailer”,其中有一个手册页,告诉您如何使用它。我编写了一个简单的bash脚本,该脚本使用find命令的输出(注意不要将文件名中带有空格的文件分开)为特定文件上方的任何文件自动生成缩略图屏幕截图库(或上面提到的联系表)。目录中没有的大小。
如果有人想找它,我可以将其上传到〜jgbreezer下的我的github上。尽管使用ffmpeg等解决方案可能更灵活,更可靠;我似乎从图腾命令中得到了关于找不到特定帧的错误输出,但是它似乎在大多数情况下仍然有效。
我想要同样的东西,谷歌搜索最终使用ffmpeg和imagemagick。不是“快速”恕我直言。然后找到一个名为SlickSlice的bash脚本(最新更新为2008,但截至昨天为止运行良好)。使用配置文件和脚本本身安装并根据我的喜好对其进行了自定义。该脚本顺便使用了ImageMagick和MPlayer。
成功使用后,我对操作方法和自定义进行了详细说明。成功安装后,您可以使用以下命令生成视频时间轴缩略图:(
slickslice -x "InputFile.mp4"
默认4列x 15行)或
slickslice -x "InputFile.mp4" -S 6x10
(6列x 10行)。
它输出为as SLICKSLICED_InputFile.mp4.jpeg
,我InputFile.mp4-screen.jpeg
通过编辑bash脚本本身对其进行了定制。
-r
)。这样可以更轻松,更准确地指定时间。5分钟= 300秒ffmpeg -i MOVIE.mp4 -r 1/300 -vf scale=-1:120 -vcodec png capture-%02d.png
。