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

时间:2018-11-20 16:08:34

标签: video ffmpeg concatenation

我收集了大量具有不同分辨率和不同音频编解码器的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...

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

1 个答案:

答案 0 :(得分:0)

经过大量挖掘,我找到了一种解决方案,可以将视频提升到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