2012-11-30 06:38:03 +0000 2012-11-30 06:38:03 +0000
115
115

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 dimensions 1024x576, maintenant je veux redimensionner la vidéo en 720x480 pour répondre à cette exigence.

Comment puis-je faire cela ?

Réponses (2)

182
182
182
2012-11-30 06:53:23 +0000

Voici l'exemple le plus élémentaire :

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

L'utilisation du filtre le filtre scale offrira plus de flexibilité :

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

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


Un inconvénient de l'échelle lors de l'utilisation de libx264 est que ce codeur requiert des valeurs paires et que l'échelle peut choisir automatiquement une valeur impaire entraînant une erreur : width or height not divisible by 2. Vous pouvez dire à scale 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 build ffmpeg pourrait se plaindre de ne pas reconnaître les options -c ou -filter. Il se peut également qu'il ne supporte pas scale. Dans ce cas, vous devez utiliser un ffmpeg plus récent, que vous pouvez télécharger en tant que compilation statique, ou compiler vous-même .

21
21
21
2018-02-24 06:57:24 +0000

J'utilise les commandes suivantes pour effectuer le redimensionnement des vidéos et des images. Pour une largeur et une hauteur fixes -

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

et si vous souhaitez conserver le rapport hauteur/largeur, donnez simplement la hauteur comme -1 et il sera automatiquement redimensionné en fonction de la largeur -

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

Si vous souhaitez redimensionner en fonction de la taille d'entrée, par exemple par exemple, réduisez la largeur/hauteur de moitié -

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

NOTE :

iw : input width
ih : input height

Static build peut être téléchargé à partir de - https://johnvansickle.com/ffmpeg/

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