首页 > 解决方案 > ffmpeg 将不同尺寸的视频转码为 4:3

问题描述

我们有一些具有不同比例和纵横比的视频,我们希望将它们转换为固定的 640x480 尺寸(如有必要,使用 4/3 ar 信箱填充)。经常出现两种尺寸:853×480、1280×720。我在写这个问题之前做了一些研究和尝试,但没有得到预期的结果。

例如:

ffmpeg -i video.mp4 -vf "scale=640:480,pad=640:480:(ow-iw)/2:(oh-ih)/2,setdar=4/3" -c:a copy output.mp4

setdar=4/3似乎是必需的,因为如果我省略了结果,则保持原来的纵横比。

有没有针对不同尺寸转换的解决方案?

标签: ffmpeg

解决方案


用于在 WxH 画布中拟合视频的通用过滤器链是

"scale=iw*sar:ih,scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:-1:-1"

第一个比例过滤器确保视频不会保持变形。如果您知道视频是方形像素,则可以跳过它。force_original_aspect_ratio第二个过滤器使用该选项将视频放入 640x480 的画布中。


推荐阅读