#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 8 years ago by richardpl
- Component changed from undetermined to avfilter
- Status changed from new to open
comment:2 Changed 8 years ago by richardpl
- Resolution set to invalid
- Status changed from open to closed
comment:3 Changed 8 years ago by burek
Can you please provide an example of such command line usage?
comment:4 Changed 8 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 7 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).
This is already possible, w and h options are expression, no need to use ffprobe to get video size.