Por que usar -vframes e -ss para obter imagens em miniatura do vídeo?

Por que usar -vframes e -ss para obter imagens em miniatura do vídeo?

Estou usando este argumento para o FFmpeg para obter uma imagem em miniatura de um arquivo de vídeo:

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

Entendo que -ss 10 diz ao FFmpeg para capturar a imagem em miniatura no 10º segundo, mas qual é o propósito de -vframes 1?

Responder1

Isso dirá ffmpegpara gerar um quadro. Caso contrário, ele tentará usar omuxer de arquivo de imagempara gerar várias imagens. Da ajuda:

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

Responder2

Para a posteridade, se você quiser adicionar a miniatura como um ícone de arquivo e excluir o jpeg intermediário, adicione-o a uma "ação rápida" do automatizador, passando a entrada como argumento:

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

informação relacionada