怎么给视频加黑边

Arn*_*hez 10 console ffmpeg

所以我使用 ffmpeg 将视频转换为 1920*1080 像素,我找到了两种方法,第一种是将视频拉伸到 1920*1080,但看起来有点拉伸。我为此使用了这个命令:

./ffmpeg_darwin -i SRC -vf scale=1920:1080,setdar=16:9 DEST
Run Code Online (Sandbox Code Playgroud)

没有 setdar 的另一个选项是相同的,但这只是将分辨率调整为从 (1728*1080) 开始的分辨率。

我想用黑色边框填充宽度的 192 像素。是否有某种选择可以这样做?或者是否有另一个命令行可以实现这一点?

谢谢你的帮助 :)

Gya*_*yan 21

-vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1"
Run Code Online (Sandbox Code Playgroud)

比例尺将确保其输出适合 1920x1080。然后垫子将其填满。

  • 将表达式括在单引号中。 (2认同)
  • 只是为了自我遏制: `ffmpeg -i SRC -vf 'scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1'目的地` (2认同)
  • @rayryeng 在 Windows 10 命令行中运行此命令会出现错误“没有这样的过滤器:'scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,集萨尔=1'`。您必须将引号替换为双引号。 (2认同)

San*_*iya 6

通过设置所需的填充为视频的所有边添加边框

在此处输入一个视频并在左侧,右侧,顶部和底部添加 padding=20

"-i",path1,"-filter_complex","[0]pad=w=20+iw:h=20+ih:x=10:y=10:color=red; output
Run Code Online (Sandbox Code Playgroud)

[0]pad=w=20+iw:h=20+ih:x=10:y=10:color=red

  1. 在这里,w=20+iw 表示您的视频宽度 + 20,因为您要添加边框,因此我们需要为 10 个右侧垫和 10 个左侧垫添加填充 20
  2. 与高度 h=20+ih 相同,因此 +20 到视频高度,顶部焊盘为 10,底部焊盘为 10

  3. x=10:y=10 用于如果 x=0,y=0 则边框不显示在左侧和顶部,而在 20 的右侧和底部显示边框;

  4. 如果我们想添加边框 20 所以宽度 + 40 和高度 + 40 和 x,y = 20
  5. color=red 用于边框颜色

在此处输入图片说明

  • 真的很有帮助,谢谢!使用它,将 1024x1024 图片放入 2048x2048 帧中: ffmpeg -i input.mp4 -filter_complex "[0]pad=w=1024+iw:h=1024+ih:x=512:y=512:color=black “ 填写.mp4 (4认同)