ffmpeg 通过添加框或边框来扩展(不调整大小)视频大小

Roc*_*uts 6 video resize ffmpeg resolution border

假设我有一个特殊分辨率的视频,例如 1280x718,我想将其更改为 1280x720。

但与其将 718 像素垂直插入到 720 像素,我宁愿只在顶部和底部添加一行。

所以基本上,我正在寻找一种方法来告诉 ffmpeg 创建一个 1280x720 的输出视频,其中 1280x718 的输入视频覆盖了中心,所有未覆盖的区域都是黑色或其他什么。

我想我们可以称之为与裁剪相反。我知道如何调整视频大小(使用插值),但在这种情况下,我不想重新缩放或弄乱原始内容,只需添加一个小边框。

Roc*_*uts 10

找到答案,贴在这里供参考:

ffmpeg -i input.mp4 -vcodec libx264 \
-vf "pad=width=1280:height=720:x=0:y=1:color=black" -acodec copy result.mkv
Run Code Online (Sandbox Code Playgroud)

width并且height是预期的输出分辨率,x并且y是左上角的坐标(新的输出中)在何处放置输入。color(可选)是边框颜色,也可以使用color=0xff00ff符号。

  • 如果目标尺寸只是稍微大一点,那么除了填充之外,您可以使用邻居算法进行缩放,它会复制相邻的线,没有插值。 (3认同)