将视频大小调整为相同大小

时间:2014-05-15 16:57:14

标签: video ffmpeg

我有一个不同分辨率的视频文件列表。我应该将它们改为1920x1080。使用ffmpeg和缩放滤镜很容易制作,但结果视频的宽高比是错误的。如果我使用宽高比,那么输出分辨率不是全高。是否可以将分辨率更改为最佳可用,如scale ="' if(gt(a,16/9),1920,-1)':' if(gt(a) 16/9), - 1,1080)'" 所有剩余的空间都用黑色填充?

2 个答案:

答案 0 :(得分:1)

找到解决方案,但不知道它是不是很好:

ffmpeg -i a5732-480x320-clip01-sound.mp4 -filter_complex "[0:0]split[main][back];[back]scale=1920:1080[scale];[scale]drawbox=x=0:y=0:w=1920:h=1080:color=black:t=1000[draw];[main]scale='if(gt(a,16/9),1920,-1)':'if(gt(a,16/9),-1,1080)'[proc];[draw][proc]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[fhd];[fhd]setsar=1/1[sarfix]"  output.mp4

详细信息:将视频流拆分为两个流。首先我缩放到1920x1080,然后将所有区域填充为黑色。第二个流我转换为1920x1080保存宽高比,因此视频总是小于或等于全高清分辨率。然后第二个流覆盖整个黑色流,因此自由区域变为黑色。最后一个过滤器是固定的SAR。

也许有人知道更优雅的解决方案?

答案 1 :(得分:0)

请尝试此操作。只需更改下面的比例(320x240)。

ffmpeg -i source.mp4 -r 15 -s 320x240 -an destination.mp4