ビデオからサムネイル画像を取得するのに -vframes と -ss を使用するのはなぜですか?

ビデオからサムネイル画像を取得するのに -vframes と -ss を使用するのはなぜですか?

ビデオ ファイルからサムネイル画像を取得するために、FFmpeg に次の引数を使用しています。

ffmpeg -i input.mp4 -vframes 1 -s 320x240 -ss 10 output.jpg

-ss 10 は FFmpeg に 10 秒目にサムネイル画像をキャプチャするように指示することは理解していますが、-vframes 1 の目的は何ですか?

答え1

ffmpegこれは1フレームを出力するように指示します。そうでない場合は、画像ファイルマルチプレクサー複数の画像を出力します。ヘルプから:

$ ffmpeg -h
...
-vframes number     set the number of video frames to record

答え2

後々のために、サムネイルをファイル アイコンとして追加し、中間の jpeg を削除する場合は、これをオートメーションの「クイック アクション」に追加し、入力を引数として渡します。

export PATH=/usr/local/bin:/opt/homebrew/bin:$PATH

for f in "$@"
do 
   ffmpeg -y -ss 60 -i "$f" -v error -vf select="eq(pict_type\,I),scale=-1:640,crop=in_w:in_h:0:0" -qscale:v 3 -vframes 1 "$f".jpg
   fileicon set "$f" "$f".jpg
   rm "$f".jpg
done

関連情報