Est-il possible de redimensionner mes vidéos pour les rendre plus petits avec FFmpeg?
J'ai une dimension vidéo originale de 1024×576, maintenant je souhaite redimensionner la vidéo à 720×480 pour répondre à l'exigence.
Comment puis-je faire ceci?
L'exemple le plus bas est le suivant:
ffmpeg -i input.avi -s 720x480 -c:a copy output.mkv
L'utilisation du filtre à scale
offre plus de flexibilité:
ffmpeg -i input.avi -filter:v scale=720:-1 -c:a copy output.mkv
Le -1
indique à 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 nécessite des valeurs et une échelle uniformes qui peuvent automatiquement choisir une valeur impaire entraînant une erreur: width or height not divisible by 2
. Vous pouvez indiquer une échelle pour choisir une valeur égale 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 ffmpeg pourrait se plaindre de ne pas reconnaître les options -c
ou -filter
. Il peut également ne pas supporter l' scale
. Dans ce cas, vous devez utiliser un ffmpeg plus récent, que vous pouvez télécharger en tant que construction statique, ou compiler vous-même .