无需重新编码即可加入H264


39

我有两个半场,分别是用H264编码的两个.MP4文件。我想加入他们而无需重新编码。

这可能吗?

我设法使用Quicktime Pro将合并的视频创建为Quicktime文件(.mov),但是,如果没有重新编码,Quicktime Pro不会将其转换回.MP4。这可能是因为在.mov文件中查看的两​​个H264视频仍然在其中作为单独的“对象”分开。

我也正在为MPEG StreamClip苦苦挣扎,却没有找到真正的解决方案。但是我可能错过了一些东西。

请注意,我 MPEG2文件没有相同的问题。例如,我可以将它们导出到.MPEG容器或.TS文件,然后可以加入它们而无需使用MPEG Streamclip进行重新编码。

欢迎任何建议,最好使用Mac软件。


1
当然,视频需要具有相同的方面才能进行合并而无需重新编码(相同的大小,比特率​​等)。您应该可以在VirtualDubMOD中执行此操作:打开MP4,然后追加段
Synetech 2011年

Answers:


41
ffmpeg -i q.mp4 -c copy -bsf h264_mp4toannexb q.ts

ffmpeg -i r.mp4 -c copy -bsf h264_mp4toannexb r.ts

ffmpeg -i "concat:q.ts|r.ts" -c copy -bsf aac_adtstoasc qr.mp4

如何将flv文件合并为一个


如果是m4v(非h264 mp4)怎么办,应该使用什么bsf?
爱迪生

2
我离开-bsf aac_adtstoasc了concat命令
Csaba Toth,2016年

我需要放弃所有-bsf争论,然后对我有用。
KittMedia '17

在MacOS 10.13.3上执行此操作,我省略了所有-bsf xxx具有良好结果的内容。但是我第二次尝试,合并后的电影的后半部分损坏了。事实证明,出于未知原因,Handbrake编码了两个具有不同宽度的两半(640与636)。在两种情况下,我都使用了相同的预设。无论如何,我回过头来在第一个半部再次使用了Handbrake,现在与第二个半部相匹配。重新组合的电影还可以。提示:exiftool将显示有关mp4 / m4v文件的所有信息。
杰米·考克斯

15

MP4Box将为您做到这一点:

MP4Box -cat File01.m4v -cat File02.m4v File-joined.m4v

MP4Box是跨平台的,可以在OSX上运行,但是我在Ubuntu Linux上尝试了Handbrake为iPhone 4S创建的H264视频。

由于文件未重新编码,因此此方法运行非常快。


1
效果很好。使用sudo apt-get install gpac安装它。如果要加入的文件很多,则可以使用此命令行:MP4Box $(for file in single*m4v; do echo -cat $file; done) joined.m4v
guettli 2015年

2

Quicktime MP4编解码器选项具有“通过”模式。

这是使用Quicktime加入两个MP4 H264视频的完整详细食谱。请注意,Quicktime X还不够高级,因此请使用Quicktime 7(Snow Leopard的可选安装):

  1. 在Quicktime 7中打开两个H264视频。假设它们分别名为video1.mp4和video2.mp4。
  2. 处理video1.mp4,选择“全部”,然后选择“复制”。
  3. 切换到video2.mp4,确保“光标”在视频的开头,然后粘贴。这会将video1.mp4的内容插入到video2.mp4的前面。
  4. 此步骤可能是可选的。“另存为”修改后的video2.mp4。您将只能以.mov格式保存。我另存为独立电影,但我想参考电影也可以。我使用了文件名“ video.mov”。
  5. 在文件菜单中选择“导出”,将video.mov导出到合并的H264文件。要选择的“导出”是“电影到MPEG-4”。预设并不重要,我选择了“ LAN / Intranet”。预设并不重要,因为我们将在下一步中覆盖它。
  6. 单击“选项”以进入设置对话框。在“视频”窗格中,“视频格式”被选择为“ H.264”。点击菜单,选择“通过”。如预期的那样,所有其他选项将被禁用。
  7. 单击“确定”,然后单击“保存”,然后观看加入的文件以硬盘速度保存。

您也可以选择使用SimpleMovieX(一种共享软件视频编辑器),将其准确地宣传为一项功能。


1
不幸的是,我认为保存mov需要某种形式的重新编码。
Csaba Toth

0

我认为这应该是可能的,尽管为了使连接正常工作,这两个部分可能需要采用某些“相同”方式(分辨率等)。听起来您的情况可能如此。

您可以尝试使用此工具:http : //www.smlabs.net/tsmuxer_en.html ...我没有使用它,但是它专门列出了加入文件作为其功能集的一部分,并且H.264是受支持的编码之一。


感谢您的链接。我无法尝试,因为该网站称此程序不支持Snow Leopard。此外,我只是使用Quicktime找到了一个可行的解决方案(请参阅我的答案)。另外,虽然我不知道这种情况,但是有些工具会宣传加入视频文件,但会进行完全重新编码,这极有可能会引起误解。
jdmuys 2010年

我很抱歉; 我在网站上误读了这一点。很高兴您找到了一种更简单的方法-确实有必要为此使用特殊工具,这似乎很奇怪。
扎克·汤普森

0

使用mkvtoolnix。然后打开“ mkvtoolnix-gui.exe”(在Windows 8.1 64bits中,它位于:C:\ Program Files \ MKVToolNix \ mkvtoolnix-gui.exe)。添加第一个文件。然后选择此第一个文件,然后右键单击“附加文件”,然后选择要合并的文件。也许更改目标文件夹和文件名。然后最后单击“开始多路复用”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.