我从某处获得了一些ADTS AAC原始数据(实际上它是从解复用的文件中提取的),理论上它应该被纠正编码。它看起来像这样:
Frame1中:
21 19 94 ED A1 09 45 58 09 40 02 CA AA 85 D4 E5 C5 58 A9 73 00 0C 75 1C 5D A7 4E 52 40 90 38 71 9C 65 D5 C4 22 0B 28 7D EF F8 42 33 15 03 BA 6C DE B1 74 B4 A1 4E 0A 21 05 15 34 6B FD D9 E7 8F BF FF 79 5C D3 7D 90 79 F6 65 57 08 3A F7 C5 14 85 5E D7 C3 7D 2A 85 E1 7A 86 BA 3A AC 13 0D AE D1 1B 65 69 B6 71 92 E5 8A BC CB 5C 7A 6F D7 F2 2B 38 C9 0E 2A 40 2F 8E 90 9B 1F A2 3A 9C 39 A8 35 CE 69 14 CD 64 54 70 00 50 07 CE 37 83 6E F0 01 18 AA A8 49 B2 8B 8F A1 37 17 1C 06 00 00 00 06 00 72
Frames2:
21 19 95 14 C2 0A A9 61 19 8B CB 9B 56 AE A7 0A A0 34 DA EA D9 34 28 0C F8 DC 0C 30 97 12 A7 DD 3F F5 FE 7B 65 52 61 6D 7F DA BE D3 EB 30 CA. A6 94 54 8E D4 0A 32 E1 EA FD AD 02 82 B5 1E 40 4C 04 3A BE 56 21 5D 7D 5D B3 31 2A 5D AF 4E FF A6 48 B9 42 E3 87 DE 5C 59 4B B9 BB C3 2C AD 50 6B 35 C8 24 6C 06 82 86 B2 26 17 E2 C6 DD 9A 43 53 91 D3 68 8D 67 8E 7D 0A 28 EB 7D F1 BB FC 56 5E 13 25 F9 77 E6 27 BF DA 4E 09 38 86 20 0A 00 F9 C6 F0 1D DE 00 21 05 4F 28 C0 A0 5F 0E 18 00 03 00 0E
.....
对于每个后续帧,有一个非常奇怪的类似标题:
21 19 xx xx
例如:
21 19 94 E1 ..
21 19 95 03 ..
...
那么你知道这个标题是什么意思吗?
答案 0 :(得分:6)
这就是ADTS AAC的样子,例如立体声:
adts_header()
channel_pair_element()
adts_header()
channel_pair_element()
adts_header()
channel_pair_element()
adts_header()
channel_pair_element()
等...
这似乎根本不是ADTS标题。 ADTS标头通常不用于某些其他容器,如mp4,但仅用于独立的AAC文件。 ADTS标头以12位同步字1111 1111 1111
开头。所有这些,在你的例子中并非如此。
如果muxer删除了任何标题,则可能有原始AAC ,如果是单声道,则应以single_channel_element()
开头,如果是立体声,则应为channel_pair_element()
。
single_channel_element()
以3位000
cannel_pair_element()
以3位001
您的示例以0010 0001 0001 1001
开头,因此可能是channel_pair_element()
。
你可能有立体声,但没有任何标题,如下所示:
channel_pair_element()
channel_pair_element()
channel_pair_element()
channel_pair_element()
等
你应该让复用器告诉你通道数,采样率等,你就可以继续解码了。 Muxer应该从mp4或您的AAC最初的容器中获取此信息。
答案 1 :(得分:1)
它很可能是mpeg4 latm格式。如果您运行mediainfo工具进行检查,它将输出如下:
$mediainfo a.aac
General
Complete name : a.aac
Format : LATM
File size : 821 KiB
Overall bit rate mode : Variable
Audio
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : HE-AACv2 / HE-AAC / LC
Bit rate mode : Variable
Channel(s) : 2 channels / 1 channel / 1 channel
Channel positions : Front: L R / Front: C / Front: C
Sampling rate : 48.0 KHz / 48.0 KHz / 24.0 KHz
Compression mode : Lossy
此类格式通常在移除ADTS标头或从DTV频道后生成。 DTV数据传输使用LATM格式来节省带宽,因此没有ADTS头,但使用一些编解码器配置缓冲区来初始化解码器。