web-dev-qa-db-fra.com

FFmpeg - Change la résolution de la vidéo avec le format

tout.

Comment changer la résolution de la vidéo en format d'image avec FFmpeg?

Il existe des options http://manpages.ubuntu.com/manpages/oneiric/man1/ffmpeg.1.html

       -s size
       Set frame size. The format is wxh (ffserver default = 160x128,
       ffmpeg default = same as source).  The following abbreviations are
       recognized:

et

       -aspect aspect
       Set the video display aspect ratio specified by aspect.

       aspect can be a floating point number string, or a string of the
       form num:den, where num and den are the numerator and denominator
       of the aspect ratio. For example "4:3", "16:9", "1.3333", and
       "1.7777" are valid argument values.

Par exemple, j'ai deux vidéos d'entrée:

  • avec une résolution de 200 * 400
  • avec une résolution de 400 * 700

J'ai besoin de faire de la sortie vidéo avec une résolution de 100 * 200.

Si je lance ffmpeg avec -s 100x200, la deuxième vidéo aura un mauvais rapport hauteur/largeur.

Comment puis-je limiter la sortie vidéo en largeur, avec le rapport de format automatique en hauteur?

Par exemple, je veux spécifier pour la vidéo en sortie que largeur 100px et ffmpeg doivent calculer automatiquement la hauteur avec le bon rapport d'aspect.

Pour la première vidéo ce sera:

200/100 = 2

400/2 = 200

Ie 100x200

Pour la deuxième vidéo ce sera:

400/100 = 4

700/4 = 75

C'est à dire 100x75

C'est possible?

11
Arthur

ffmpeg -i <input> -vf scale=720x406,setdar=16:9 <output>

En savoir plus à ce sujet,

Modification de la résolution de la vidéo à l'aide de ffmpeg

14
Devesh Chauhan

Ne fonctionne pas avec la vidéo. Cette page ne traite que des images fixes.

Pour des raisons qui ne sont pas complètement comprises, FFMPEG utilise le format d’échantillon échantillon/pixel pour rétablir le format d’image initial. Par exemple, si vous étendez la vidéo deux fois plus large, le rapport de format est égal à 1: 2 ou à un format similaire (2: 1?)

Ainsi, si vous voulez VRAIMENT étirer une vidéo dans le style "Stretch Armstrong", vous devez forcer le SAR (Sample Aspect Ratio):

ffmpeg -i <something> -vf scale=iw*55:ih,setsar=1:1 ...

Ceci n'est pas vraiment décrit dans le manuel de FFMPEG, voici une réponse video.stackexchange qui met tout cela au même endroit.

8
Mark Gerolimatos

Ci-dessous, les deux options: Avec échelle:

ffmpeg -i source.mp4 -r 15 -s 320x240 -strict -2 destination.mp4

Avec rapport d'aspect:

ffmpeg -i source.mp4 -r 15 -aspect 1:1 -strict -2 destination.mp4
1
Pankaj Chauhan