Ffmpeg制作缩略图的最有效方式是什么?[Windows 10] [英] Most efficient way for ffmpeg to make thumbnails? [Windows 10]

查看:0
本文介绍了Ffmpeg制作缩略图的最有效方式是什么?[Windows 10]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通常使用ThumbnailMe制作缩略图的联系表。我的默认设置是15行x 5列,所以75个图像,在45分钟到大约90分钟的任何地方。ThumbnailMe几乎可以瞬间制作出这样大小的接触表。最近的一个要求是为很多视频制作很多联系人表,这让我考虑了一个命令行选项,这样我就可以成批地执行这些操作。我尝试了几种不同的方法从命令行制作缩略图:

ffmpeg -ss 300 -i myvideo.avi -vf fps=1/300 %d.jpg

ffmpeg -i myvideo.avi -vf fps=1/60 %d.jpg

无论我使用哪种方法,都需要大约一分钟的时间来制作16个屏幕截图(从那里我会使用ImageMagick来制作联系人表)。正如我上面所说的,只需按一下按钮,ThumbnailMe就可以制作出15x5的网格图像。ThumbnailMe是建立在一个更老的命令行程序Movie Thumbnailer上的,我认为它使用了旧版本的ffmpeg,或者至少是编解码器libavcodec。

如果这些其他程序可以这么快地创建缩略图,为什么ffmpeg花了这么长时间才为我制作它们?即使我以非常小的大小输出屏幕截图,例如50x50,创建每个图像仍需要~2秒。

推荐答案

fps筛选器是一种低效的方法。选择过滤器是更好的选择。如果您需要,FFmpeg还可以使用筛选器来生成网格。

ffmpeg -i in.mp4 -vf select=not(mod(n,800)),scale=200:-1,tile=15x5 -vsync 0 in-grid.jpg
这将每800帧选择一次,将所选帧按比例缩放到200 px宽度,然后平铺15x5布局中的前75个所选帧。如果需要,平铺筛选器具有options外边框和帧间填充。

为了尽可能有效地执行此操作,应选择选择间隔(800),以便选择过滤器不会输出超过网格所需的帧。此外,您可以在FFmpeg中省略比例和平铺,而在其他地方执行此操作,从而节省一些时间。

这篇关于Ffmpeg制作缩略图的最有效方式是什么?[Windows 10]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆