ffmpeg: ¿Cómo crear miniaturas recortadas?

10

Para crear una miniatura de video con ffmpegestoy usando este comando:

ffmpeg -itsoffset -4 -i video.mp4 -vframes 1 thumb.jpg

Esto me da una miniatura con el mismo tamaño del video (que tiene un tamaño desconocido, por ejemplo, 960x540). Pero lo que necesito es una miniatura cuadrada ( recortada ) con un tamaño determinado (por ejemplo, 200x200). El resultado no debe ser redimensionado, sino recortado desde el centro, y la relación de aspecto no debe cambiar.

¿Cómo se puede lograr esto?

Georg Ledermann
fuente
¿Por qué usar en -itsoffsetlugar de -ss? Últimamente he visto un mayor uso de esto por parte de los usuarios que realizan salidas de imágenes de videos.
llogan
@LordNeckbeard: Lo siento, mezclé las opciones. Encontré esto para obtener más información sobre -itsoffsetvs -ss.: superuser.com/questions/538031/…
Georg Ledermann

Respuestas:

12

Puedes usar el cropfiltro de video:

ffmpeg -ss 4 -i video.mp4 -vf crop=200:200 -vframes 1 output.jpg
  • Por defecto, el cultivo estará centrado.

  • Use en -sslugar de -itsoffsetelegir su tiempo de compensación.

  • Puede controlar la calidad de salida JPEG con -qscale:v. Usar un valor de 2-5 suele ser bueno; Un valor más bajo es una calidad más alta.

  • El cropfiltro también puede aceptar la anchura de entrada y salida y la altura como valores: iw, ih, ow, oh. Esto permite que más de filtrado flexible y creativa: crop=iw-100:ih-50.

Puede probar con ffplaypara obtener una vista previa:

ffplay video.mp4 -vf crop=200:200

Imagen original (generada con el testsrcfiltro fuente:

ffmpeg -f lavfi -i testsrc -vframes 1 output.jpg 

imagen original

Imagen recortada:
imagen recortada

lema
fuente
6

Puede escalarlo primero y luego recortarlo para obtener una mejor salida;)

ffmpeg -ss 10 -i "Ali_Video.mp4" -vframes 1 -filter "scale=-1:300,crop=400:300" "output.jpg"

entrada de video a las 0:49 imagen de salida

ffmpeg -ss 10 -i "Ali_Video.mp4" -vframes 1 -filter "scale=-1:150,crop=200:150" "output.jpg"

otra miniatura

SMMousavi
fuente