【问题标题】:Marker for MP3 frame?MP3帧的标记?
【发布时间】:2012-06-11 05:19:00
【问题描述】:

我想询问每个 MP3 帧的标记字节?我们如何知道它是来自 MP3 的帧? 在一些文章中说每个帧头的标记是Hexa(FF FB)。这是真的吗?

【问题讨论】:

    标签: mp3 file-format


    【解决方案1】:

    所有 MP3 帧的开头都有一个同步字标记。该同步字长 11 位,全为 1。因此 MP3 帧将以 FFF 或 FFE 开头。有关 MP3 帧结构的更多details,请参阅下面的链接

    这并不意味着任何以 0xFFE 或 0xFFF 开头的字节序列都是 MP3 帧头。可能还有很多其他情况
    (a) 其他格式如 ADTS(AAC) 也有类似的同步字。 ADTS 框架的更多细节是here
    (b) MP3帧内的数据也可以包含FFF/FFE序列。

    因此,确定字节序列是否为 MP3 的最佳方法是执行以下操作
    (o) 搜索同步字(FFF 或 FFE)序列
    (o) 通过解析同步字后的头块找到帧的长度
    (o) 按帧长在文件中查找,看是否有另一个同步字。
    如果它是一个 MP3 文件,那么您应该在将帧长度添加到当前同步字后找到另一个同步字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-04
      • 2010-09-25
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多