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

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 .