Структура 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
Описание инфоpмационного тэга MP3
|