我有两部以 H264 编码的 .MP4 文件,分别包含一个节目的两部分。我想将它们合并在一起没有重新编码。
这可能吗?
我使用 Quicktime Pro 成功将合并的视频创建为 Quicktime 文件 (.mov),但 Quicktime Pro 不会在不重新编码的情况下将其转换回 .MP4。这可能是因为在 .mov 文件内部,两个 H264 视频仍然作为单独的“对象”分开。
我也在为 MPEG StreamClip 而苦苦挣扎,但还没有找到真正的解决方案。但我可能错过了一些东西。
请注意我不要MPEG2 文件也存在同样的问题。例如,我可以将它们导出到 .MPEG 容器或 .TS 文件,然后我可以使用 MPEG Streamclip 将它们合并,而无需重新编码。
欢迎任何建议,最好使用 Mac 软件。
答案1
ffmpeg -i f1.mp4 -c copy -bsf h264_mp4toannexb f1.ts
ffmpeg -i f2.mp4 -c copy -bsf h264_mp4toannexb f2.ts
ffmpeg -i 'concat:f1.ts|f2.ts' -c copy -bsf aac_adtstoasc f3.mp4
答案2
MP4盒将为您完成以下任务:
MP4Box -cat File01.m4v -cat File02.m4v File-joined.m4v
MP4Box 是跨平台的并且可在 OSX 上运行,但是我尝试在 Ubuntu Linux 上使用 Handbrake 为 iPhone 4S 创建的 H264 视频。
由于文件无需重新编码,因此速度非常快。
答案3
Quicktime MP4 编解码器选择具有“直通”模式。
以下是使用 Quicktime 合并两个 MP4 H264 视频的完整详细方法。请注意,Quicktime X 还不够先进,因此请使用 Quicktime 7(Snow Leopard 的可选安装):
- 在 Quicktime 7 中打开两个 H264 视频。假设它们分别名为 video1.mp4 和 video2.mp4。
- 处理 video1.mp4,选择全部,然后复制。
- 切换到 video2.mp4,确保“光标”位于视频开头,然后粘贴。这会将 video1.mp4 的内容插入到 video2.mp4 的前面。
- 此步骤可能是可选的. 将修改后的 video2.mp4 “另存为”。您只能以 .mov 格式保存。我将其保存为一个独立的电影,但我想参考电影也可以。我使用了文件名“video.mov”。
- 在文件菜单中选择“导出”,将 video.mov 导出为合并的 H264 文件。要选择的“导出”是“电影到 MPEG-4”。预设并不重要,我选择了“LAN/Intranet”。预设并不重要,因为我们将在下一步中覆盖它。
- 点击“选项”进入设置对话框。在视频窗格中,“视频格式”选择为“H.264”。点击菜单,选择“穿透”。正如预期的那样,所有其他选项都将被禁用。
- 单击“确定”,然后单击“保存”,然后观察您的合并文件以硬盘速度保存的情况。
您也可以使用简单电影X,一款共享软件视频编辑器,它确实将此作为一项功能进行宣传。
答案4
我认为这应该是可能的,尽管为了使连接工作,两个部分可能需要在某些方面(分辨率等)“相同”。这听起来可能就是您的情况。
你可以尝试一下这个工具: http://www.smlabs.net/tsmuxer_en.html ... 我没有用过它,但它特别列出了合并文件作为其功能集的一部分,并且 H.264 是受支持的编码之一。