我正在尝试通过 ImageMagick 从视频中提取缩略图。我找到了一些样本来自他们的官方网站,但它生成 GIF,而不是 PNG。但我想要一个实心的缩略图。
它能否创建与此 ffmpeg 命令相同的输出?
ffmpeg -ss 600 -i myVideo.mp4 -vframes 1 -s 420x270 Out.bmp
答案1
您可以使用 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
答案2
ImageMagick 使用以下命令调用 ffmpeg:
ffmpeg -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z"
因此简短的回答是“不”(因为它本身不会这样做)。