FFMPEG-Concat协议不合并视频文件

FFMPEG-Concat协议不合并视频文件,ffmpeg,Ffmpeg,因此,我尝试使用以下命令将两个视频文件与同一个编解码器组合: ffmpeg -i "concat:/home/mike/downloads/a1.mp4|/home/mike/downloads/a2.mp4" -c copy "/home/mike/downloads/output.mp4" 结果:output.mp4仅包含来自a1.mp4的视频。我也尝试了2个或更多的文件,但结果是一样的。可能的原因是什么?请帮忙 Mike您不能将mp4文件直接与concat协议连接起来,因为该格式不支持它

因此,我尝试使用以下命令将两个视频文件与同一个编解码器组合:

ffmpeg -i "concat:/home/mike/downloads/a1.mp4|/home/mike/downloads/a2.mp4" -c copy "/home/mike/downloads/output.mp4"
结果:
output.mp4
仅包含来自
a1.mp4
的视频。我也尝试了2个或更多的文件,但结果是一样的。可能的原因是什么?请帮忙


Mike

您不能将
mp4
文件直接与
concat协议连接起来,因为该格式不支持它。这适用于
mpg
mpeg-ts

如果通过以下格式之一,则可以执行此操作:

ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts
ffmpeg -i input2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4
另一种方法是使用更灵活的
concat解复用器
(输入文件仍然需要相同的编解码器,但可以使用不同的容器):

ffmpeg-f concat-i mylist.txt-c复制输出

其中
mylist.txt
类似于:

# this is a comment
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

感谢您的投入。