ffmpeg 一个接一个地加入两个 mp4 视频

Grb*_*e1l 4 java video mp4 join ffmpeg

我有 2 个视频,我希望它们使用 ffmpeg 加入一个视频。我在 Java 中运行这些命令,所以我需要它来使用命令行,所以没有其他程序解决方案适用。我尝试了很多不同的方法,但似乎都不起作用。所以我得到了一个 35 秒的视频和一个 5 秒的视频,我需要 40 秒的输出,这似乎从未发生过。如果有人可以提供帮助,将不胜感激

Grb*_*e1l 7

我自己找到了一个解决方案,我相信这对其他人有用,因为我花了很多时间才找到它。您不能通过 ffmpeg 将两个 mp4 连接在一起。但是,您可以将视频转换为 .ts 文件,然后一个接一个地加入它们并将其转换回 mp4。这听起来很复杂,但 ffmpeg 非常简单。

ffmpeg -i vid1.mp4 -c copy -bsf h264_mp4toannexb  vid1.ts
ffmpeg -i vid2.mp4 -c copy -bsf h264_mp4toannexb  vid2.ts
ffmpeg -i "concat:vid1.ts|vid2.ts" -c copy output.mp4       
Run Code Online (Sandbox Code Playgroud)

因此,前 2 行将视频转换为 .ts 文件,第 3 行将它们连接起来并生成 .mp4,显然,如果您使用 java 等编程语言运行它,则可以删除 .ts 文件。

希望有人发现这很有用,因为我花了很多时间试图找到这个解决方案。