我试图连接4个mp4文件。我使用下面的命令但无法连接
ffmpeg -i new1.mp4 -i new2.mp4 -i new3.mp4 -i new4.mp4 -filter_complex concat=n=4:v=1:a=1 output.mp4
出现此错误:
Input link in1:v0 parameters (size 640x640, SAR 16:9) do not match the corresponding output link in0:v0 parameters (640x640, SAR 427:240)
所有四个视频具有相同的编解码器和相同的大小(640x640)和相同的比特率(30)
我做错了什么?
答案 0 :(得分:8)
输入没有相同的样本宽高比。尝试
ffmpeg -i new1.mp4 -i new2.mp4 -i new3.mp4 -i new4.mp4 -filter_complex \
"[0]setdar=16/9[a];[1]setdar=16/9[b];[2]setdar=16/9[c];[3]setdar=16/9[d]; \
[a][b][c][d]concat=n=4:v=1:a=1" output.mp4
答案 1 :(得分:0)
这是https://stackoverflow.com/a/48853654/6465520
的另一种简单方法ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "[0:v]scale=1024:576:force_original_aspect_ratio=1[v0]; [1:v]scale=1024:576:force_original_aspect_ratio=1[v1]; [v0][0:a][v1][1:a]concat=n=2:v=1:a=1[v][a]" -map [v] -map [a] output.mp4
因此,首先将所有输入视频缩放到相同的分辨率,然后将它们连接起来。