如何解析MP3数据以提取编号的帧?

Jé *_*eue 6 linux mp3 parsing frame

我正在为MP3(CBR)编写流媒体应用程序.它是所有passthru,意味着我不需要解码/编码,我只需要传递数据,因为我看到它来了.我希望能够计算MP3帧,因为它们通过(以及其他一些东西,如吞吐量计算).

根据MP3帧标题规范,同步字似乎是1的11(11)位,但是我(自然地)注意到我应该安全地假设为二进制的帧有效载荷,因此它看起来并不奇怪.十一(11)1顺序.

我的问题:

  1. 是否有Unix | Linux | Perl MP3解析器实用程序(dd-style)可以从MP3文件/管道中提取编号的帧?
  2. 如何从任何其他二进制有效载荷数据中描绘MP3标题块?最后:
  3. 是由有效负载字节定义的常量比特率(CBR)MP3,还是每个给定时间片的聚合字节数/比特数中包含的头字节数?

谢谢,

Bra*_*rad 4

我会尝试#2。

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

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

我最近看到一个页面,其中包含有关此内容的文档,但目前找不到。如果我再次找到它,我会发布它。