MPEG 组织 官方介绍
基本介绍可以参考 https://www.cdsy.xyz/computer/fileABC/240926/cd63659.html
mp3 协议 属于mpeg 范畴
TAG_V2 | 包含了作者,作曲,专辑等信息,长度不固定,扩展了ID3V1的信息量 |
---|---|
Frame1 | FRAME由分为帧头和数据实体两部分,帧头记录了mp3的位率,采样率,版本等信息 |
Frame2 | FRAME由分为帧头和数据实体两部分,帧头记录了mp3的位率,采样率,版本等信息 |
Frame 3 | FRAME由分为帧头和数据实体两部分,帧头记录了mp3的位率,采样率,版本等信息 |
Frame … | FRAME由分为帧头和数据实体两部分,帧头记录了mp3的位率,采样率,版本等信息 |
ID3V1 | 包含了作者,作曲,专辑等信息,长度为128BYTE |
看出来每个帧可以设置 VBR 动态码率 和 CBR 静态码率,因为问题是音频问题,所以不用看 曲目信息
只要看帧 解析帧头信息
名称 | 占bit值 | 说明 |
---|---|---|
CRC 同步信息 | 11 bit | 11位 全是1 |
version 版本ID | 2 bit | 00:mpeg 2.5 01:保留 10:mpeg2 11:mepg1 |
layer 层 | 2 bit | 00:保留 01: layer3 10: layer2 11: layer1 |
protect 位 | 1 bit | 0: 会增加16bit 校验 1: 不校验 |
bit 率 | 4 bit | 看bit率表 |
采样率 | 2 bit | 看 采样率表 |
填充bit | 1 bit | 设置1 增加一个slot layer1 是4字节,其他 layer 是1字节 |
保留位 | 1bit | 一般设置0 |
声道模式 | 2bit | 就是声道数 00:立体声 01:联合立体声 10:双声道 2 11 单声道 1 |
扩增模式 | 2bit | 未使用 |
版权 | 1bit | 一直为1 |
原版标志 | 1bit | 为1 |
强调方式 | 2bit | 为使用 |
采样率索引 | MPEG-1 (Hz) | MPEG-2 (Hz) | MPEG-2.5 (Hz) |
---|---|---|---|
00 | 44100 | 22050 | 11025 |
01 | 48000 | 24000 | 12000 |
10 | 32000 | 16000 | 8000 |
11 | 保留 | 保留 | 保留 |
懒得自己整,官网截图了 注意1000bps =1kbps
其实是因为没有正确获取 channel num ,sample rate, bit 值 需要根据比特率计算出来,填充给alsa 接口就可以