2009-09-18 22:20:24 +0000 2009-09-18 22:20:24 +0000
51
51
Advertisement

如何合并两个mp4文件而不损失质量?

Advertisement

我有两个高质量的mp4文件,这是同一个节目的两个部分。

我想把它们合并成一个文件,我通常用VirtualDub来合并我的文件……但它似乎不支持mp4。但它似乎不支持mp4。

有什么替代方案(尤其是那些不需要重新编码的方案)?

Advertisement
Advertisement

答案 (7)

41
41
41
2009-09-19 12:05:18 +0000

我通常用VirtualDub来合并我的文件,但它似乎不支持mp4。那么有什么替代方案? Avidemux. 它就像VirtualDub一样,只是支持更多的格式和内置的编解码器和过滤器。我总是优先使用它;它可以将AVC+AAC.MP4文件加入AVC+AAC.MP4(不需要重新编码)。File -> Open -> Select File 2. 文件 -> Append -> 选择文件 3. 设置为复制 4. 根据AViDemux论坛,这个加入过程是无损的 http://www.avidemux.org/smf/index.php?topic=9467.0)

29
29
29
2012-12-21 16:39:48 +0000

你可以用ffmpeg:

mkfifo temp0 temp1
ffmpeg -i input0.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y temp0 2> /dev/null & \
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y temp1 2> /dev/null & \
ffmpeg -f mpegts -i "concat:temp0|temp1" -c copy -absf aac_adtstoasc output.mp4

这不会重新编码任何东西,而是将它们放在一个新的传输流容器中,这样更容易串联,然后将它们串联成MP4。如果output.mp4已经存在,该命令将失败。上面的版本使用了命名的管道,如果你的系统不支持这些管道,你必须使用中间文件(如windows):

ffmpeg -i input0.mp4 -c copy -bsf:v h264_mp4toannexb temp0.ts
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb temp1.ts
ffmpeg -i "concat:temp0.ts|temp1.ts" -c copy -bsf:a aac_adtstoasc output.mp4
15
Advertisement
15
15
2014-03-02 01:54:46 +0000
Advertisement

Concat demuxer

在ffmpeg 1.1中加入了concat demuxer。如果你的 ffmpeg 版本太旧了,从这里获取最新的静态二进制文件: http://www.ffmpeg.org/download.html

说明

创建一个文件mylist.txt,将所有你想串联的文件按以下形式(破折号开头的行被忽略):

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

注意,这些路径可以是相对路径,也可以是绝对路径。然后,你可以用以下方式对文件进行编码:

ffmpeg -f concat -i mylist.txt -c copy output

。下面的任何一个都可以生成一个包含工作目录中的每一个*.wav的列表文件:

for f in ./*.wav; do echo "file '$f'" >> mylist.txt; done
printf "file '%s'\n" ./*.wav > mylist.txt

源。 ffmpeg wiki

8
8
8
2009-09-18 23:09:39 +0000

YAMB](http://www.videohelp.com/tools/YAMB)和[MP4BOX](http://www.videohelp.com/tools/mp4box)是一个很好的选择。 下载这两个文件并解压(不需要安装,合起来约5MB),在YAMB中选择设置并设置MP4box的文件夹路径。

5
Advertisement
5
5
2009-09-19 11:08:12 +0000
Advertisement

首先,你需要mkvtoolnix。下载并安装它,然后你需要启动mkvmerge GUI(除非你喜欢命令行工具,我觉得没问题–不过你可能要看看mkvmerge文档中的文件链接部分)。然后,点击 “append",打开第二个文件。设置好输出文件,点击底部的 "开始混编",就可以开始了!

如果容器不适合你的需求,你可以重新编码,或者尝试转换为其他格式…… 虽然MKV是一个非常可爱的容器!

1
1
1
2009-09-18 22:24:57 +0000

如果你可以在你的系统上播放它们/安装了编解码器,Windows Movie Maker可能是最快速(和免费)的方式来连接这两个文件。然后,你可以使用Virtualdub转换为不同的格式。

1
Advertisement
1
1
2009-09-19 11:46:02 +0000
Advertisement

另一个解决方案是【Open Video Joiner】(http://www.321slideshow.com/mp4-joiner.htm)。它还可以做过渡效果。

Advertisement

相关问题

8
6
7
6
4
Advertisement