audio - AAC-LC格式和RTP

标签 audio rtp aac

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

取出mp4 header 后,我将获得以下数据:

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

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

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

在此先感谢您,我真的是AAC的新手,我很迷路!

最佳答案

我试图做相反的事情,即解码RTP AAC流,所以到目前为止我发现的一些引用可能对您有用:

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

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

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

最重要的是,我发现了额外的2bytes 0x24 0x00帧-仍然不知道那是什么,但我想让您知道您可能还需要重新创建它。

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

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

关于您的其他问题,我的AAC-hbr显然也是AAC-LC,尽管我也没有找到公开的规格。

您的AU header 看起来有点类似于我得到的:

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

尽管我期望头文件的长度是前16位,但是像您自己一样,我不太确定自己在看什么...

无论如何,我希望其中一些会有所帮助。

关于audio - AAC-LC格式和RTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9836220/

相关文章:

ipad - iOS:在给定 Hz 参数的情况下,iPad 上的声音生成?

javascript - PHP中的音频警报

java:使用vlcj将rtsp流传输到文件

ios - 从 quicktime MOV 文件解析 h.264 NAL 单元

java - FFmpeg 在转码后的 AAC 文件中添加 0.05 秒的静音?

java - 使用 Glide 库加载音频/音乐文件封面

java - 声音。它究竟是如何工作的?

android - ffmpeg 编码音频中的持续时间和比特率不正确

java - 如何将 rtp 数据包有效负载字节转换为任何音频数据?

audio - FFmpeg - 从 AV_SAMPLE_FMT_FLTP 重采样到 AV_SAMPLE_FMT_S16 音质非常差(缓慢、走调、噪音)