如何为FFmpeg命令添加参数将视频分辨率调至5760x2880且保持比例
调整FFmpeg命令到5760x2880并保持宽高比不失真
首先明确:5760x2880的宽高比是2:1(5760 ÷ 2880 = 2)。要避免视频失真,得根据原视频的宽高比选择对应处理方式,下面分场景给出修改后的命令:
场景1:原视频本身就是2:1宽高比
如果你的输入视频比例刚好是2:1,直接用scale滤镜缩放到目标分辨率即可,完全不会失真:
-i {INPUTFILE} -c:v libx264 -preset ultrafast -crf 0 -r:v 30 -vf "scale=5760:2880" -c:a copy {OUTPUTFILE}
场景2:原视频不是2:1宽高比
这种情况有两种常用方案,你可以根据需求选:
方案A:添加黑边填充(保留完整画面)
通过scale+pad滤镜组合,先按2:1比例把视频缩放到不超过5760x2880的最大尺寸,再用黑边填充到目标分辨率,画面居中显示,不会丢失任何内容:
-i {INPUTFILE} -c:v libx264 -preset ultrafast -crf 0 -r:v 30 -vf "scale='min(5760,trunc(oh*2))':'min(2880,trunc(ow/2))',pad=5760:2880:(5760-iw)/2:(2880-ih)/2" -c:a copy {OUTPUTFILE}
scale部分:自动计算按2:1比例缩放后的最优尺寸,确保不会超出目标分辨率范围pad部分:将缩放后的画面居中,用黑边填充剩余空白区域
方案B:裁剪边缘内容(适配2:1比例,无黑边)
如果不想出现黑边,可以先裁剪视频的边缘区域,保留中心的2:1比例画面,再缩放到目标分辨率(会丢失部分边缘内容):
-i {INPUTFILE} -c:v libx264 -preset ultrafast -crf 0 -r:v 30 -vf "crop='min(iw,ih*2)':'min(ih,iw/2)',scale=5760:2880" -c:a copy {OUTPUTFILE}
crop部分:从原视频中心裁剪出符合2:1比例的画面scale部分:将裁剪后的画面缩放到5760x2880
小提示
如果你不确定原视频的宽高比,可以先运行ffmpeg -i {INPUTFILE},查看输出里Stream #0:0行的分辨率和比例信息。
内容的提问来源于stack exchange,提问作者PUBG Player Unknown Battlegrou
相关产品推荐
相关产品推荐

