Para crear una miniatura de video con ffmpeg
estoy 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?
-itsoffset
lugar de-ss
? Últimamente he visto un mayor uso de esto por parte de los usuarios que realizan salidas de imágenes de videos.-itsoffset
vs-ss
.: superuser.com/questions/538031/…Respuestas:
Puedes usar el
crop
filtro de video:Por defecto, el cultivo estará centrado.
Use en
-ss
lugar de-itsoffset
elegir 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
crop
filtro 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
ffplay
para obtener una vista previa:Imagen original (generada con el
testsrc
filtro fuente:Imagen recortada:
fuente
Puede escalarlo primero y luego recortarlo para obtener una mejor salida;)
fuente