Pour créer une miniature de vidéo avec ffmpeg
J'utilise cette commande:
ffmpeg -itsoffset -4 -i video.mp4 -vframes 1 thumb.jpg
Cela me donne une vignette avec la même taille de la vidéo (qui a une taille inconnue, par exemple 960x540). Mais ce dont j'ai besoin, c'est d'une vignette carrée ( recadrée ) avec une taille donnée (par exemple 200x200). Le résultat ne doit pas être redimensionné, mais recadré à partir du centre, et le rapport hauteur / largeur ne doit pas changer.
Comment cela peut-il être accompli?
-itsoffset
au lieu de-ss
? J'ai vu une utilisation accrue de ces derniers temps par les utilisateurs qui produisent des images à partir de vidéos.-itsoffset
vs-ss
: superuser.com/questions/538031/…Réponses:
Vous pouvez utiliser le
crop
filtre vidéo:Par défaut, le recadrage sera centré.
Utilisez
-ss
au lieu de-itsoffset
pour choisir votre décalage horaire.Vous pouvez contrôler la qualité de sortie JPEG avec
-qscale:v
. L'utilisation d'une valeur de 2 à 5 est généralement bonne; une valeur inférieure est une qualité supérieure.Le
crop
filtre peut également accepter l'entrée et la sortie largeur et la hauteur en tant que valeurs:iw
,ih
,ow
,oh
. Cela permet un filtrage plus souple et créative:crop=iw-100:ih-50
.Vous pouvez tester avec
ffplay
pour obtenir un aperçu:Image originale (générée avec le
testsrc
filtre source:Image recadrée:
la source
Vous pouvez d'abord le mettre à l'échelle puis le recadrer pour une meilleure sortie;)
la source