FFmpeg – Change resolution of the video with aspect ratio

aspect-ratioffmpegresolutionvideo

all.

How to change resolution of the video with aspect ratio with FFmpeg?

There are 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:

and

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

For example, I have two input videos:

  • with 200*400 resolution
  • with 400*700 resolution

I need to make output video with 100*200 resolution.

If I will run ffmpeg with -s 100×200, then second video will have bad aspect ratio.

How can I limit output video by width, with auto aspect ratio by height?

For example, I want specify for the output video only width 100px and ffmpeg must automatically calculate height with right aspect ratio.

For first video it will be:

200/100=2

400/2=200

Ie 100×200

For second video it will be:

400/100=4

700/4=75

Ie 100×75

Is it possible?

Best Answer

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