我正在使用ffmpeg
CLI 来缩放用户提交的视频:
ffmpeg -i path/to/file -vf scale=1920:-2 -c:v libx264 -r 30 output.mp4
缩放功能适用于标准视频尺寸,例如1920×1080
和720×480
。但是,一旦我们开始使用不是具有常规分辨率,输出开始缩放不正确。
例如,当预期分辨率为 时,分辨率为 的视频3360×1882
将输出为。1921×1076
应该理论上是:1920×1075
。
现在,显然ffmpeg
是试图解释剩余.42857px
的高度,但我更希望它被裁剪掉(无论是从顶部还是底部)。
我该如何做这件事安全地每个视频?
为了获得奖励积分,如何让它根据 是否height
大于 来交换缩放比例width
(反之亦然)。例如,如果视频的比例为2:1
,则它使用 的高度1080px
而不是 的宽度进行缩放1920px
。