我正在为MP3(CBR)编写流应用程序。这一切都是直通的,这意味着我不必解码/编码,我只需要在看到数据时就传递数据即可。我希望能够对通过的MP3帧(以及吞吐量计算等其他内容)进行计数。

根据MP3 frame header规范,同步字似乎是1s的十一(11)位,但是(自然地)我注意到应该有效地假定为二进制的帧有效载荷,因此看到11( 11)顺序为1s。

我的问题:

  • 是否有Unix | Linux | Perl MP3解析器实用程序(dd -style)可以从MP3文件/管道中提取编号的帧?
  • 如何从任何其他二进制有效载荷数据中划出MP3 header 块?最后:
  • 是由有效负载字节定义的恒定比特率(CBR)MP3,还是 header 字节包含在每个给定时间片的总字节数/位中?

  • 谢谢,

    最佳答案

    我将在#2刺伤。

    据我了解,同步到MP3流(从而可以对帧进行计数)的常见方法是执行以下操作:

  • 搜索同步词
  • 找到同步词后,请验证头
  • 的其余部分
  • 如果帧头有效,那么您应该知道下一个头
  • 的位置
  • 如果您连续命中3个或4个标题,并且它们是有效的,那么您找到它们的机会很高。

  • 我最近看到了一个包含有关文档的页面,但目前无法找到它。如果再次找到它,我将其发布。

    09-04 20:38
    查看更多