这个ffmpeg命令中的倒数第二个参数是做什么的?

时间:2013-07-05 21:51:47

标签: video command-line ffmpeg command-line-arguments

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

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

image2在这里扮演什么角色?我看过几篇博文和SO答案,其中image2image3作为-vframes标志的参数放在这里,但我不明白它的用途。临时的内存文件名可能是?

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

2 个答案:

答案 0 :(得分: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 Main options

‘-f fmt (input/output)’

    Force input or output file format. The format is normally auto detected for input 
    files and guessed from the file extension for output files, so this option is not 
    needed in most cases.

答案 1 :(得分:0)

image2是ffmpeg用于将媒体文件读入数据包(块)的映像文件demuxer


来自docs

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

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