AAC-LC格式和RTP

时间:2012-03-23 08:46:18

标签: audio rtp aac

我正在尝试将3gpp中打包的AAC-LC数据编码为RTP。我已经通过了rfc 3640,但我仍然不知道从哪里开始。我会在AAC数据中找到什么?如果我没错,前40个字节将是MP4标题,但后来会发生什么,我在哪里可以找到它的定义?为了构建RTP有效载荷,我必须包括AU头部分,但我不知道它们是否已经包含在AAC数据中,我无法在任何地方找到它。

我取出mp4标题后,我有以下数据:

<00> 00 00 14 03 E9 1C 00 00 14 03 E9 1C

这是AU头吗?我该如何解释这些数据?

另一个问题,AAC-LC和AAC-lbr之间的关系是什么......我的意思是,我知道第一个代表低复杂度,第二个代表低比特率,但它是否相同?一个包括另一个?

在此先感谢,我对AAC真的很陌生,我很失落!

1 个答案:

答案 0 :(得分:1)

我正在尝试相反的做法,即解码一个RTP AAC流,所以到目前为止我发现的一些参考文献可能对你有用:

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

这描述了rtp结构。我在读取流时发现的是,RTP数据包周围还有一个帧头,长度为2字节:

http://tools.ietf.org/html/rfc4571

最重要的是,我发现了2字节0x24 0x00的额外框架 - 仍然不知道这是什么,但我想你会告诉你,你可能也需要重新创建它。

可悲的是,很多有趣的规格似乎都是“付钱观看”。虽然我确实从这个博客中找到了一些有用的信息:

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

关于你的另一个问题,我有AAC-hbr,显然也是AAC-LC,虽然我也没有找到公开的规格。

你的AU标题看起来有点类似于我所拥有的:

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

虽然我期待前16位是标题的长度,但就像你自己一样,我不太清楚我在看什么......

无论如何,我希望其中一些有用。

相关问题