Ffmpeg制作缩略图的最有效方式是什么?[Windows 10] [英] Most efficient way for ffmpeg to make thumbnails? [Windows 10]
本文介绍了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屋!
查看全文