2

我从 Udacity 下载 mp4 格式的讲座,但它们通常被分成 2-5 分钟的块。我想将每个讲座的视频合并成一个连续的流,我在 Windows 上使用 AnyVideo Converter 取得了成功。我正在尝试在 Ubuntu 15 上做同样的事情,我的大部分网络搜索结果都建议使用 MP4Box,它的文档和我能找到的所有在线示例都提供以下语法:

MP4Box -cat vid1.mp4 -cat vid2.mp4 -cat vid3.mp4 -new combinedfile.mp4

这将创建一个带有工作音频的新文件,但视频不起作用。当我使用 Ubuntu 的本机视频播放器打开时,我收到错误“在流结束之前没有解码有效帧”。当我使用 VLC 打开时,我收到错误“不支持编解码器:VLC 无法解码格式 'avc3'(没有此编解码器的描述。”我也尝试过使用该-keepsys开关,但我得到了相同的结果。

所有的文档和在线讨论听起来好像我正在尝试做的是并且应该非常简单,但我似乎无法找到与我遇到的特定错误相关的信息。我错过了什么?

4

2 回答 2

2

使用该-force-cat选项。

例如,

MP4Box -force-cat -add in1.mp4 -cat in2.mp4 -cat in3.mp4 ... -new out.mp4

从 MP4Box 文档中:

-force-cat
       skips media configuration check when concatenating file.
于 2016-01-24T21:29:45.183 回答
1

通过 的存在,看起来'avc3'这些视频是用 h.264|avc 编码的。这种流的连接有几种模式。视频流具有兼容的编码器配置(帧大小,...),在这种情况下,文件中仅使用一个配置描述(由“avc1”表示)。如果配置不完全兼容,MP4Box 使用这些配置的“带内”存储(由“avc3”发出信号)。另一种方法是使用多个示例描述条目(流配置),但播放器不太支持,MP4Box 尚无法实现。除非您想重新编码视频,否则别无他法。在 Ubuntu 上,您应该能够使用 MP4Box 附带的播放器播放“avc3”流:MP4Client。

于 2015-09-07T19:48:08.753 回答