我从Udacity上下载了mp4格式的讲座,但它们通常被分解成2-5分钟的片段。我想把每堂课的视频合并成一个连续的流,我已经成功地使用AnyVideo转换器在Windows上实现了这一点。我正试图在Ubuntu15上做同样的事情,我的大多数网络搜索结果都显示了MP4Box,它的文档和我能找到的所有在线示例都提供了以下语法:
MP4Box -cat vid1.mp4 -cat vid2.mp4 -cat vid3.mp4 -new combinedfile.mp4
这将创建一个音频有效的新文件,但视频不起作用。当我用Ubuntu的原生视频播放器打开时,我得到错误“在流结束之前没有有效的帧解码”。当我用VLC打开时,我得到一个错误:“不支持编解码器: VLC无法解码格式'avc3‘(没有这个编解码器的描述。”我也尝试过使用-keepsys
开关,但得到了相同的结果。
所有的文档和在线讨论听起来好像我正在尝试做的事情真的很简单,但我似乎找不到与我得到的特定错误相关的信息。我遗漏了什么?
发布于 2016-01-25 05:29:45
使用-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.
发布于 2015-09-08 03:48:09
通过'avc3'
的存在,这些视频看起来是用h.264|avc编码的。有几种模式可用于连接这些流。或者视频流具有兼容的编码器配置(帧大小...)在这种情况下,在文件中只使用一个配置描述(用‘avc1’表示)。如果配置不完全兼容,MP4Box将使用这些配置的“带内”存储(由“avc3”表示)。另一种方法是使用多个样本描述条目(流配置),但这不是播放器很好的支持,对于MP4Box来说还不可能。除非你想重新编码你的视频,否则别无他法。在Ubuntu上,你应该可以用MP4Box: MP4Client的播放器播放'avc3‘流。
https://stackoverflow.com/questions/30493113
复制相似问题