将许多mp4文件标准化为相同的分辨率



我收集了大量不同分辨率和不同音频编解码器的Instagram视频。

有些视频是640x640,有些是640x800。你明白了。

当我尝试连接视频时,视频和音频在最终输出中不同步,在某些地方音频会减慢(?(。

这是我的ffmpeg-concat命令:

ffmpeg -i "$(cat /home/list.txt)" -c:v copy -c:a copy /home/output.mp4

list.txt包含800多个剪辑,并且格式正确:

file 'clip1.mp4'
file 'clip2.mp4'
file 'clip3.mp4'
etc...

我相信这个问题是由于使用了不同的分辨率和不同的编解码器,所以我如何将我的剪辑集标准化,以便将它们连接到一个工作视频文件中?

经过大量挖掘,我找到了一个解决方案,可以将视频升级到1920x1080,同时保持纵横比,并在需要时添加黑条。这应该适用于所有决议。

ffmpeg -i input.mp4 -vsync 2 
-codec:v libx264 -preset fast -codec:a copy 
-vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" 
-crf 17 -pix_fmt yuv420p -movflags +faststart output.mp4

最新更新