0
ffmpeg -ss 2.5 -i input_vid.mp4 -vframes 1 -f image2 output_img.jpg

上面的 ffmpeg 命令从位于输入视频文件 2.5 秒的帧中创建一个 jpg 图像(用作视频的缩略图)。

在这里扮演什么角色image2?我已经看到了几篇博客文章和 SO 答案,它们已经image2image3放置在这里作为-vframes标志的参数,但我不明白它的用途。一个临时的内存文件名可能吗?

我检查了ffmpeg 文档,但找不到答案。

4

2 回答 2

1
ffmpeg -ss 2.5 -i input_vid.mp4 -vframes 1 -f image2 output_img.jpg
#                                          |       |
#                                          \      /
#                                           ------ 
#                                             |
# as you can see, image2 is actually part of the argument "-f image2". This
# explicitly sets the container format. Some containers can have the same
# file extension, so this is a way to disambiguate.

§ 5.4 主要选项

'-f fmt(输入/输出)'

    强制输入或输出文件格式。通常会自动检测输入格式
    文件并从输出文件的文件扩展名猜测,所以这个选项不是
    大多数情况下都需要。
于 2013-07-06T00:45:25.083 回答
0

image2是ffmpeg用来将媒体文件读入数据包(块)的图像文件解复用器。


文档

image2复用器从由模式指定的图像文件列表中读取。该模式可能包含一个后缀,用于自动确定文件中包含的图像的格式。

在这种情况下,output_img.jpg是模式,并且解复用器根据文件的扩展名将格式建立为 JPEG。

于 2013-07-06T18:37:15.680 回答