在 Ubuntu 上合并多个(两个以上)视频

Dhr*_*gal 5 video ubuntu ffmpeg mencoder concatenation

我想以每个二十 (20) 的批量大小合并视频。我正在运行一台 Linux 机器。视频为 mp4 格式,质量中等。有些甚至丢失了音频流。到目前为止,我已经尝试过 ffmpeg、mencoder、cvlc/vlc 和 MP4Box。我想编写一个命令行脚本来实现此目的,因为我正在进行批处理。

主要问题是,我尝试的一些解决方案适用于两个视频,一些适用于带有音频流的视频,而另一些则适用于我的视频集的其他子集。但是,我一直无法找到完成这项任务的全面解决方案。

jrk*_*rkt 1

FFmpeg是使用concat过滤器从命令行实现此目的的最佳方法。在我找到这个方法之前,我尝试了 20 多种不同的方法,而且它非常有效。如果视频没有音频,您的命令是:

ffmpeg -i vid-1.mp4 -i vid-2.mp4 -filter_complex '[0:v] [1:v] concat=n=2:v=1 [v]' -map '[v]' output.mp4
Run Code Online (Sandbox Code Playgroud)

如果视频有音频,您的命令将是:

ffmpeg -i vid-1.mp4 -i vid-2.mp4 -ar 44100 -ab 64k -ac 1 -c:a libmp3lame -filter_complex '[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [v]' -map '[v]' -map '[a]' output.mp4
Run Code Online (Sandbox Code Playgroud)

显然,您可以用音频比特率、声道等替换其他数字,但这些都是非常标准的。