Para criar uma miniatura de vídeo ffmpeg
usando este comando:
ffmpeg -itsoffset -4 -i video.mp4 -vframes 1 thumb.jpg
Isso me dá uma miniatura com o mesmo tamanho do vídeo (que tem um tamanho desconhecido, por exemplo, 960x540). Mas o que eu preciso é de uma miniatura quadrada ( cortada ) com um determinado tamanho (por exemplo, 200x200). O resultado não deve ser redimensionado, mas cortado do centro, e a proporção da imagem não deve mudar.
Como pode ser isto alcançado?
-itsoffset
vez de-ss
? Ultimamente, tenho visto um aumento no uso disso por usuários que produzem imagens de vídeos.-itsoffset
vs-ss
.: superuser.com/questions/538031/…Respostas:
Você pode usar o
crop
filtro de vídeo:Por padrão, o recorte será centralizado.
Use em
-ss
vez de-itsoffset
para escolher o seu tempo de deslocamento.Você pode controlar a qualidade da saída JPEG com
-qscale:v
. Usar um valor de 2-5 geralmente é bom; um valor mais baixo é uma qualidade mais alta.O
crop
filtro pode também aceitar a largura de entrada e de saída e altura como valores:iw
,ih
,ow
,oh
. Isto permite uma filtragem mais flexível e criativo:crop=iw-100:ih-50
.Você pode testar com
ffplay
para obter uma visualização:Imagem original (gerada com o
testsrc
filtro de origem:Imagem cortada:
fonte
Você pode dimensioná-lo primeiro e depois cortá-lo para obter uma melhor saída;)
fonte