所以我使用ffmpeg将视频转换为1920 * 1080像素,我找到了两种方法,第一种方法是将视频拉伸到1920 * 1080,但它看起来有点拉长。我用这个命令:
./ffmpeg_darwin -i SRC -vf scale=1920:1080,setdar=16:9 DEST
另一个选项是相同的,没有setdar,但这只是将分辨率调整为从它开始的分辨率(1728 * 1080)。
我想用黑色边框填充192像素的宽度。有这样的选择吗?或者可能有另一个命令行可以实现这个目标吗?
感谢您的帮助:)
答案 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
,并且与高度h = 20 + ih相同,因此对于顶部垫板10和底部垫板10,视频高度为+20
x = 10:y = 10用于x = 0,y = 0的情况,因此在20的左侧和顶部不显示边框,而在20的右侧和底部显示边框;
< / li>答案 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