我收集了大量不同分辨率和不同音频编解码器的 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
关于video - 将许多 mp4 文件标准化为相同的分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53397043/