Opened 4 years ago

Closed 4 years ago

Last modified 3 years ago

#2150 closed enhancement (fixed)

scale video filter improvement

Reported by: burek Owned by:
Priority: wish Component: avfilter
Version: git-master Keywords: scale
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Could "scale" video filter be improved in such a way that users could define X:Y as a maximum sized box in which the input video should be scaled, keeping aspect ratio? Something like: "-vf scale=640:480:keep_aspect_ratio"

This would work the same as "-vf scale=640:-1" when the input video has got width > height and "-vf scale=-1:480" when the input video has got height > width.

Right now, without this feature, users have to use either ffprobe or ffmpeg to first determine which dimension is greater and based on that, they would launch either 640:-1 (if width is greater than height) or -1:480 (when height is greater than width). But with this feature, users would be able to do it all with one simple command.

Maybe a simple flag could be added, so that it could be written like this: "-vf scale=640:480:flags=keep-ratio" or something similar.

Change History (5)

comment:1 Changed 4 years ago by richardpl

  • Component changed from undetermined to avfilter
  • Status changed from new to open

comment:2 Changed 4 years ago by richardpl

  • Resolution set to invalid
  • Status changed from open to closed

This is already possible, w and h options are expression, no need to use ffprobe to get video size.

comment:3 Changed 4 years ago by burek

Can you please give one example of such command line usage?

Version 0, edited 4 years ago by burek (next)

comment:4 Changed 4 years ago by burek

Here is an example line that can accomplish this already (thanks ubitux) :)

-vf scale="'if(gt(iw,ih),640,-1)':'if(gt(iw,ih),-1,480)'"

NOTE: Pay attention to quotes. They are important.

comment:5 Changed 3 years ago by cehoyos

  • Keywords scale added
  • Resolution changed from invalid to fixed
  • Version changed from unspecified to git-master

I suspect this was fixed in 3415058 (force_original_aspect_ratio).

Note: See TracTickets for help on using tickets.