1

我想知道是否有人可以建议我将我自己的对象添加到 MP4 容器结构中。

例如,我发现一个像我们使用的文件一样的典型文件具有以下 'atoms' / 'boxes' :

  • 类型
  • 莫夫
  • 数据

我想在 ftyp 对象和 moov 对象之间添加我自己的小型自定义对象。

所以对象将显示为:

  • 类型
  • 哈希
  • 莫夫
  • 数据

这将是一个仅包含唯一哈希的小对象。

这里的问题是 - 所有的玩家都会忽略我添加的这个新对象 - 它与播放无关,但用于在内部跟踪我们的文件。

我想添加一个单独的对象,因为这将在提供文件时即时完成(cgi/php),因此在提供其余文件之前,很容易在文件开头附近插入一个新对象它通过http。

我使用 WMV 文件做了类似的事情,所有我能找到的播放器都会忽略他们无法识别的对象。我想知道 MP4 文件的情况是否相同。玩家是否会忽略他们不期望的对象,我想这应该是玩家的默认行为,因为它是可扩展的容器格式?

4

2 回答 2

2

“请注意,在某些规范中,框被称为原子。请注意,不鼓励引入新的原子类型;一般而言,如果可能,应使用文件格式的其他可扩展性特征”——文本格式 ISO/IEC 14496-12:2005

于 2015-09-21T06:41:23.803 回答
1

根据 mpeg 标准文档,所有未知的原子类型都应该被给定的应用程序忽略。所以你实际上可以安全地添加你的跟踪原子。但是,您的 atom 名称中不应包含任何小写字母,因为它们是标准保留的。例如,您的原子名称不能使用“sams”,但可以使用“SAMS”

于 2012-10-08T22:14:10.160 回答