如何从终端合并视频文件?

如何从终端合并视频文件?

我尝试过 avidemux2_cli、mencoder、ffmpeg、cat......但这并不总是有效(大多数时候错误是音频编解码器不一样)也许我在命令中输入了错误的选项。

因此命令:

cat Sample.avi rrr.avi > complete.avi
ffmpeg -i Sample.avi -i output.avi -vcodec copy -acodec copy complete.avi
mencoder -ovc lavc -oac copy Sample.avi rrr.avi -o complete.avi
avidemux2_cli --audio-codec copy --video-codec copy --output-format avi --load Sample.avi -append output.avi --save video.avi

cat 的问题是它不显示错误但它并不总是有效..就像 complete.avi 与 Sample.avi 完全相同

Fmmpeg 什么都不做。complete.avi 总是与 Sample.avi 相同

Mencoder 错误:所有文件必须具有相同的音频编解码器和格式才能进行 -oac 复制。因此 complete.avi 与 Sample.avi 相同

avidemux2_cli 没有错误,但是 complete.avi 再次与 Sample.avi 相同。

所以总而言之,所有 complete.avi 都与 Sample.avi 相同。问题是它们没有相同的音频编解码器(我猜)。有什么想法吗?

答案1

如果要安全地合并两个视频,则需要将输入文件的视频编解码器和音频编解码器更改为相同的编解码器。

例如,使用 xvid (视频编解码器) 和 mp3lame (音频编解码器):

sudo apt-get install mencoder libxvidcore4 libmp3lame0

您可以使用以下命令对输入视频进行编码:

mencoder -ovc xvid -oac mp3lame -xvidencopts bitrate=1000 first.avi -o video1.avi
mencoder -ovc xvid -oac mp3lame -xvidencopts bitrate=1000 second.avi -o video2.avi

为了匹配您的视频,您可以更改“比特率”等选项(以及编解码器)。

如果编码后的视频名称为“video1.avi”和“video2.avi”,输出的视频名称为“joined-video.avi”,

mencoder -ovc copy -oac mp3lame video1.avi video2.avi -o joined-video.avi 

使用此命令,您可以制作合并的视频文件。

答案2

我必须将三段具有相同编解码器的视频合并在一起。阅读了之前的答案后,我设法做到了这一点:

mencoder -ovc copy -oac faac 01.mp4 02.mp4 03.mp4 -o output.mp4

比 Openshot 更快、更简单!

首先,我尝试了“-oac copy”选项,但似乎我的视频中的音频编解码器不允许这样做。我收到一条错误消息,建议使用“-oac pcm”。但是,pcm 编解码器不是一个好选择:生成的文件非常大,其中 2/3 是未压缩的音频。

希望这可以帮助

答案3

我找到的解决方案这里帮助我无损地合并两个 mp4 文件:

sudo apt-get install gpac
MP4Box -cat part1.mp4 -cat part2.mp4 -new joinedfile.mp4

我尝试使用 Avidemux,但合并视频的声音有问题。

答案4

你应该像这样输入:

avidemux2_cli --audio-codec copy --video-codec copy --output-format avi --load Sample.avi --append output.avi --save video.avi

如果要附加更多文件:

avidemux2_cli --audio-codec copy --video-codec copy --output-format avi --load Sample.avi --append output1.avi --append output2.avi --append output3.avi --save video.avi

相关内容