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 ?
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 ?
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 .
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
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.