Структура MPEG аудио-файла
Прислано Pretich January 06 2016 07:34:16

Структура MPEG аудио-файла

Файл

Файл состоит из одного или нескольких фреймов.

Фрейм имеет заголовок и данные.

Длина фрейма

Длина фрейма определяется форматом MPEG, и может менятся.

Фрейм кончается там, где начинается следующий. (см. Заголовок фрейма)

Заголовок фрейма

Заголовк фрейма состоит из 4-ех байт, с которых начинается каждый фрейм. Заголовок у каждого фрейма может быть разным.

 Байт       0        1        2        3

 binary 11111111 111aabbc ddddeefg hhjjkmpp

  1 - Синхронизация
  a - Версия
  b - Layer
  c - Защита от ошибок
  d - Код битрейта
  e - Код sample rate
  f - Padding
  g - Extension
  h - Каналы
  j - Mode extension
  k - Сopyright
  m - Original
  p - Emphasis

1 - Синхронизация.

Должен быть: 11111111 111xxxxx

a - Версия

	0 = mpeg 2.5
	2 = mpeg 2
	3 = mpeg 1

b - Layer

	3 = layer I
	2 = layer II
	1 = layer III

c - Защита от ошибок.

	0 = on
	1 = off

d - Код битрейта.

                    mpeg 1

 (hex)   layer I    layer II     layer III

 $0          0            0           0
 $1         32           32          32
 $2         64           48          40
 $3         96           56          48
 $4        128           64          56
 $5        160           80          64
 $6        192           96          80
 $7        224          112          96
 $8        256          128         112
 $9        288          160         128
 $a        320          192         160
 $b        352          224         192
 $c        384          256         224
 $d        416          320         256
 $e        448          384         320

               mpeg 2, mpeg 2.5

 (hex)   layer I    layer II     layer III

 $0          0            0           0
 $1         32            8           8
 $2         48           16          16
 $3         56           24          24
 $4         64           32          32
 $5         80           40          40
 $6         96           48          48
 $7        112           56          56
 $8        128           64          64
 $9        144           80          80
 $a        160           96          96
 $b        176          112         112
 $c        192          128         128
 $d        224          144         144
 $e        256          160         160

e - Код sample rate.

       mpeg 1     mpeg 2    mpeg 2.5

 0 =  44100 Hz   22050 Hz   11025 Hz
 1 =  48000 Hz   24000 Hz   12000 Hz
 2 =  32000 Hz   16000 Hz    8000 Hz

f - Padding.

	1 = unused bits are filled (padding required)
	0 = all bits in frame are used

g - Extension.

	0 = none
	1 = private

h - Channel mode

	0 = stereo
	1 = joint stereo
	2 = dual channel
	3 = mono

j = Mode extension.

Только для Join-Stereo

            layer I & II  layer III

        0 =       4           0
        1 =       8           4
        2 =      12           8
        3 =      16          16

k - Copyright.

	0 = no
	1 = yes

m - Original.

	0 = no
	1 = yes

p - Emphasis.

	0 = none
	1 = 50/15 microseconds
	2 = dunno
	3 = CITT j.17