8

どこかからADTS AAC生データを取得しました(実際には、デミックスされたファイルから抽出されたものです)。理論的には、エンコードされたものを修正する必要があります。次のようになります。

フレーム 1:

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 12 月 03 BA 6 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 6 1B 65 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 A2 A8 8B 8F A1 37 17 1C 06 00 00 00 06 00 72

フレーム 2:

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 000 F9 C6 F0 2D1 DE 0 05 4F 28 C0 A0 5F 0E 18 00 03 00 0E

.....

そして、後続のフレームごとに、次のような非常に奇妙な同様のヘッダーがあります。

21 19 xx xx

例えば:

21 19 94 E1 ..

21 19 95 03 ..

....

では、このヘッダーが何を意味するか知っていますか?

4

2 に答える 2

7

たとえば、ステレオの場合、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。したがって、すべてのものであり、これはあなたの例には当てはまりません。

マルチプレクサがヘッダーを取り除いた場合、モノまたはステレオの場合に開始する必要がある未加工の 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 が元々入っていたコンテナーからこの情報を取得する必要があります。

于 2012-12-04T09:39:28.253 に答える