279 votes

Comment redimensionner une vidéo pour la rendre plus petite avec FFmpeg

Est-il possible de redimensionner mes vidéos pour les rendre plus petites avec FFmpeg ?

J'ai une vidéo originale de 1024x576, je veux maintenant redimensionner la vidéo à 720x480 pour répondre à l'exigence.

Comment puis-je le faire ?

427voto

jimhark Points 3596

L'exemple le plus simple est le suivant :

ffmpeg -i input.avi -s 720x480 -c:a copy output.mkv

Utilisation de le site scale filtre permettra une plus grande flexibilité :

ffmpeg -i input.avi -filter:v scale=720:-1 -c:a copy output.mkv

El -1 indiquera à ffmpeg de choisir automatiquement la hauteur correcte par rapport à la largeur fournie afin de préserver le rapport d'aspect. -1 peut également être utilisé pour la largeur si vous fournissez une hauteur donnée.


L'un des inconvénients de l'échelle lorsque l'on utilise libx264 est que cet encodeur exige des valeurs paires et que l'échelle peut choisir automatiquement une valeur impaire, ce qui entraîne une erreur : width or height not divisible by 2 . Vous pouvez demander à l'échelle de choisir une valeur paire pour une hauteur donnée (720 dans cet exemple) :

scale="trunc(oh*a/2)*2:720"

...ou une largeur donnée (1280 dans cet exemple) :

scale="1280:trunc(ow/a/2)*2"

Notez que votre compilation de ffmpeg pourrait se plaindre de ne pas reconnaître -c o -filter options. Il se peut également qu'il ne prenne pas en charge scale . Dans ce cas, vous devriez utiliser un ffmpeg plus récent, que vous peut télécharger comme une construction statique, ou compilez vous-même .

82voto

Aniket Thakur Points 1005

J'utilise les commandes suivantes pour redimensionner les vidéos et les images. Pour une largeur et une hauteur fixe -

ffmpeg -i input.avi -vf scale="720:480" output.avi

et si vous voulez conserver le ratio d'aspect, il suffit de donner la hauteur comme -1 et il sera automatiquement redimensionné sur la base de la largeur -.

ffmpeg -i input.avi -vf scale="720:-1" output.avi

Si vous souhaitez mettre à l'échelle en fonction de la taille de l'entrée, par exemple en réduisant la largeur et la hauteur de moitié, vous pouvez le faire de la manière suivante

ffmpeg -i input.avi -vf scale="iw/2:ih/2" output.avi

NOTE :

iw : input width
ih : input height

La construction statique peut être téléchargée à partir de - https://johnvansickle.com/ffmpeg/

Documentation : https://ffmpeg.org/ffmpeg.html#filter_005foption

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X