如何为视频添加黑色边框

时间:2017-10-10 16:09:18

标签: ffmpeg console

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

./ffmpeg_darwin -i SRC -vf scale=1920:1080,setdar=16:9 DEST

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

我想用黑色边框填充192像素的宽度。有这样的选择吗?或者可能有另一个命令行可以实现这个目标吗?

感谢您的帮助:)

3 个答案:

答案 0 :(得分:1)

使用

-vf scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1

该比例将确保其输出符合1920x1080。然后垫子填满了。

答案 1 :(得分:1)

设置边框并在视频的所有侧面添加边框

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

"-i",path1,"-filter_complex","[0]pad=w=20+iw:h=20+ih:x=10:y=10:color=red; output

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

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

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

    < / li>
  4. 如果我们想添加边框20,那么宽度+ 40和高度+ 40以及x,y = 20
  5. color = red用于边框颜色

enter image description here

答案 2 :(得分:0)

谢谢大家。将您的答案改编为放置在包含我要转换的文件的目录中的批处理文件。

setlocal enabledelayedexpansion

GOTO :EndComment
  For low resolution videos that look worse when the display automatically
  makes them full screen.  This script upscales the video using horizontal 
  and vertical padding (black bars).       
:EndComment

set ffmpegExe="C:\Utilities\ffmpeg\bin\ffmpeg.exe"
set "oldScale=848:480"
set "newScale=1920:1080"


for %%f in (*.mp4) do (
  set str=%%f
  %ffmpegExe% -i "%%f" -vf "scale=%oldScale%:force_original_aspect_ratio=decrease,pad=%newScale%:(ow-iw)/2:(oh-ih)/2,setsar=1" "!str:.mp4=_new.mp4!"
  )
endlocal