1

3gpp で圧縮された AAC-LC データを RTP にエンコードしようとしています。RFC 3640 を調べましたが、どこから始めればよいかまだ正確にはわかりません。AAC データの正確な内容を教えてください。私が間違っていなければ、最初の 40 バイトは MP4 ヘッダーになりますが、その後に何が来て、どこでその定義を見つけることができますか? RTP ペイロードを構築するために、AU ヘッダー セクションを含める必要がありますが、それらが AAC データに既に含まれているかどうかはわかりません。どこにも見つかりません。

mp4 ヘッダーを取り出すと、次のデータが得られます。

00 00 14 03 E9 1C 00 00 14 03 E9 1C

これはAUヘッダーですか?このデータをどのように解釈すればよいですか?

別の質問ですが、AAC-LC と AAC-lbr の関係は何ですか...つまり、最初のものは低複雑度を表し、2 つ目は低ビット レートを表すことは知っていますが、同じですか? 1つは他を含みますか?

よろしくお願いします。私は AAC を初めて使用し、かなり迷っています。

4

1 に答える 1

1

私は反対のことをしようとしています。つまり、RTP AACストリームをデコードしようとしているので、これまでに見つけた参照のいくつかはあなたに役立つかもしれません。

http://www.rfc-editor.org/rfc/rfc3016.txt

これはrtp構造を説明します。ストリームを読んで見つけたのは、RTPパケットの周りにもフレーミングヘッダーがあり、長さは2バイトであるということです。

https://www.rfc-editor.org/rfc/rfc4571

その上、2バイトの0x24 0x00の追加のフレーミングを見つけました。それが何であるかはまだわかりませんが、それも再作成する必要があるかもしれないことをお知らせしたいと思います。

悲しいことに、興味深いスペックの多くは「ペイ・パー・ビュー」のようです。私はこのブログからいくつかの有用な情報を見つけましたが:

http://thompsonng.blogspot.com/2010/03/rfc-3640-for-aac.html

あなたの他の質問に関しては、私は明らかにAAC-LCでもあるAAC-hbrを持っていますが、これについても公に利用可能な仕様は見つかりませんでした。

あなたのAUヘッダーは私が持っているものに少し似ています:

0x00 0x00 0x01 0xB6 0x55 0x60 0x63 0xFF 0xFF 0x7A 0x7D 0xD5 0xF7 0xB7 0xA7 0xDF

最初の16ビットはヘッダーの長さになると思っていたので、あなたと同じように、何を見ているのかよくわかりません...

とにかく、そのいくつかがお役に立てば幸いです。

于 2012-05-22T15:04:15.320 に答える