4

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

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

4

3 回答 3

2

如果 ffmpeg 参数使用看起来很复杂并引起恐惧,就像它对我所做的那样,另一种选择是mkvmerge

有关安装说明,请遵循 >> MKVToolNix

mkvmerge -o /path/to/file/output_file.mkv /path/to/file/01.mp4 \+ /path/to/file/02.mp4 \+ /path/to/file/03.mp4 \+ ...

PS:我没有机会在不同格式的媒体类型上尝试这个。

于 2020-06-17T12:28:31.007 回答
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

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

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

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

于 2015-11-06T03:11:48.810 回答
0

更简单的选择是使用 Kdenlive 等视频编辑工具。

于 2018-03-14T19:09:19.453 回答