ImageMagick可以从视频制作缩略图吗?


11

我正在尝试通过ImageMagick从视频中提取缩略图。我从他们的官方网站上找到了一些样本,但它制作的是GIF,而不是PNG。我想要一个可靠的缩略图。

它可以创建与此ffmpeg命令相同的输出吗?

ffmpeg -ss 600 -i myVideo.mp4 -vframes 1 -s 420x270 Out.bmp

Answers:


18

您可以像这样 ImageMagick的视频中提取缩略图(从这里开始 -另一个答案声称ImageMagick在后台使用了ffmpeg,所以我不知道这实际上是否比使用ffmpeg还要快):

convert input.mp4[100] thumbnail.png

[100]告诉ImageMagick的采取从第100帧input.mp4。我已经在MP4容器中的H.264视频流上对其进行了测试。显然,您可以使用所需的任何ImageMagick选项,包括按链接中所述进行去隔行处理。


不过,ImageMagick确实用于处理单个图像。对于视频,您应该只使用ffmpeg。显然这里有些重叠,因为您要处理的是单个帧,但是我要说的是,隔行扫描更多地是视频处理任务。

您应该使用yadif过滤器进行隔行扫描。您可以这样将其添加到现有行中:

ffmpeg -ss 600 -i input.mp4 -vframes 1 -s 420x270 -filter:v 'yadif' output.png

使用过滤器时,我更喜欢使用比例过滤器,而不是-s

ffmpeg -ss 600 -i input.mp4 -vframes 1 -filter:v 'yadif,scale=420:270' output.png

也许我误解了这个问题,但是OP专门询问了如何ffmpeg使用ImageMagick 实现该命令的功能。不知道是否有可能……
slhck

@slhck我将OP的实际问题解释为“从隔行视频中获取漂亮的缩略图”,并假定他们只是在尝试使用错误的工具来完成这项工作(即,使用ffmpeg->用ImageMagick消除隔行扫描来获取缩略图)。但是,如果有人要发布一种使用ImageMagick的方法,他们会赞成我。
evilsoup

@evilsoup感谢您的回答。我上传了这个问题,因为ffmpeg花费太多时间从视频制作缩略图。而且我从某处听说如果我使用imagemagick,我可以使其更快。这是真的吗?我也进行了搜索,但是无法仅使用imagemagick从视频中提取缩略图。对不起,我英语不好。
Juneyoung,2013年

@JuneyoungOh确实可以使用ImageMagick提取缩略图,请参阅我的答案的更新。我怀疑它会更快吗,因为(从我的肤浅搜索出发)似乎ImageMagick使用ffmpeg作为处理视频的后端。
evilsoup

@evilsoup哦,谢谢。我认为这是不可能的。现在我可以检查哪个更快:D非常感谢。
Juneyoung,2013年

6

使用以下命令将ImageMagick封装到ffmpeg中:

ffmpeg -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z"

因此,简短的答案是“否”(因为它本身不会这样做)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.