如何让ffmpeg在按设置的高度比修改后计算宽度?

How to have ffmpeg calculate the width after modifying by set height ratio?

找到解决方案后,我 Android 上所有 webm 到 MP4 编解码器转换错误的根源。我遇到了另一个问题。分解我的问题:

大多数设备都支持哪些 MP4 分辨率?我知道他们从一定的高度值开始通过 p 来工作。 720p /?X720 例如。

有没有更简单的方法来根据高度变化计算宽度同时保持比例?

ffmpeg -i old.webm -t 00:00:03 -s 320x240 new.mp4

我目前使用测试示例中的 -s 设置周界。

宽屏的标准比例是 16:9,使用的典型分辨率列表是

256x144, 426x240, 640x360, 854x480, 960x540, 1024x576, 1280x720, 1920x1080, 2560x1440, 3840x2160

如果直接使用缩放滤镜,可以告诉ffmpeg保持纵横比:

ffmpeg -i old.webm -t 00:00:03 -vf scale=-2:240 new.mp4

在上面的命令中,scale=-2:240 告诉 ffmpeg 缩放到高度 240,select 宽度以保持宽高比,然后调整该值以使宽度和高度为2 的倍数(H.264/MP4 需要)。如果你不关心这个值是否是偶数,你可以使用 -1.