过程比较简单:

需要将aac的前7个字节的ADTS去掉;

添加12字节的RTP Header;

添加2字节的AU_HEADER_LENGTH;

添加2字节的AU_HEADER;

从第17字节开始就是payload(去掉ADTS的aac数据)数据了

音频aac封包格式

RTP承载aac的格式由两部分组成:

2个字节的AU-headers-length

n个AU-header,每个2字节

n个AU,是aac去掉adts的载荷

AU-headers-length

AU-header

AU

AU-header

AU

注意:一个RTP包中可以有一个AU-headers-length 和 n个AU-header和 n个AU(AU每包实际音频数据流)

1. AU-headers-length

头两个字节表示au-header的长度,单位是bit。 一个AU-header长度是两个字节(16bit)因为可以有多个au-header所以AU-headers-length的值是 16的倍数,一般音频都是单个音频数据流的发送,所以AU-headers-length的值是16

//AU_HEADER_LENGTH

bytes[12] = 0x00; //高位

bytes[13] = 0x10; //低位

因为单位是bit, 除以8就是auHeader的字节长度;又因为单个auheader字节长度2字节,所以再除以2就是auheader的个数。

2. AU-header

au-header的高13个bits就是一个au 的字节长度:

//AU_HEADER

bytes[14] = (byte)((len & 0x1fe0) >> 5); //高位

bytes[15] = (byte)((len & 0x1f) <

这样就能得到多个au的长度

3. AU 实际的音频数据

rtp封包pcm_RTP音频AAC封包相关推荐

  1. 快速分割任何视频 Flv 音频aac wma等等文件,无需重新编码

    快速分割任何视频 Flv 音频aac wma等等文件,无需重新编码 http://www.rin9.com/read.php?tid=761469 图片:  图片:  软件大小:4.2MB 软件语言: ...

  2. ios - 音频AAC解码

    上一回说到音频AAC编码,这回我们把编码后的文件解码,解码的文件就是上一章录制的音频. 在iOS下进行音频解码及播放的大体流程如下: 1.打开 AAC 文件. 2.获取音频格式信息.如通道数,采样率等 ...

  3. RTP打包G711音频数据发送

    前面博客讲过G711编码,有两种G711A/G711U,主要在安防中应用,是一帧波形编码的音频数据,只是将PCM压缩一半数据量.一般G711,采样率8000,通道数1.所以G711中1B就是一个样本数 ...

  4. iphone手机音频AAC视频H264推流(一) iphone手机推流最佳方案

    这几个月一直在做iphone手机音视频的东西,由于个人比较懒,所以一直没整理,现在闲的蛋疼,并且以后项目要搁置了,在这里记录一下我做的iphone手机推流的东西. 项目都是个人的调研与实验,可能很多不 ...

  5. Android音频AAC硬编码

    Android音视频编码分为软编和硬编两种.所谓的硬编是用设备GPU去实现编解码,从而减轻CPU的压力,让程序更加的健壮,自然而然你就知道了软编其实就是让CPU编码(其实是在c层通过c/c++进行编码 ...

  6. ffmpeg 实现音频aac编码

    1.编译ffmepg ./configure --disable-yasm --enable-nonfree --enable-libfaac --prefix=/home/ffmpeg/1_ffmp ...

  7. iOS音频AAC视频H264编码 推流最佳方案

    1    功能概况 *  实现音视频的数据的采集 *  实现音视频数据的编码,视频编码成h264,音频编码成aac *  实现音视频数据的发布,将编码好的音视频数据传输到服务器 2 视频和音频编码方案 ...

  8. oge 封包工具 封包_什么是封包?

    oge 封包工具 封包 什么是封包? (What is Closure?) Closures are self-contained blocks of functionality that can b ...

  9. python元祖封包_转-python封包

    一.python封包简介 Python的第三方模块已经越来越多,在开发后期为了便于传播,肯定要将开发源代码进行打包整理,那么python中关于源代码可以封包成模块,也可以在封装成在Windows下可执 ...

最新文章

  1. [Bzoj4408]神秘数(主席树)
  2. 如何有效抵抗电脑辐射
  3. Linux内核中max()宏的奥妙何在?(二)——大神Linus对这个宏怎么看?
  4. 社死,客户现场网络一直ping不通咋办?
  5. unity 平移图片_Unity 两张背景的切换平移
  6. Android自定义属性 format详解
  7. 中国工程师最喜欢的10大WiFi物联网芯片
  8. 蚂蚁算法求解tsp问题matlab,蚁群算法解决TSP问题的MATLAB程序
  9. 福禄克DSX系列教你如何测试铜缆跳线和光纤跳线
  10. python结巴_python结巴(jieba)分词
  11. [剑指offer][JAVA]面试题第[17]题[打印从1到最大的n位整数][大整数][递归回溯]
  12. Pycharm设置开发模板/字体大小/背景颜色 - Python零基础入门教程
  13. PS5国行版本周六开售 索尼:PS5将缺货至明年
  14. 2021年商业的几点变化
  15. 如何利用 MySQL 攻破数据库性能瓶颈?
  16. 国内nodejs下载网站
  17. Java 实现倒数第一个斜杠和倒数第二个斜杠数据工具类
  18. jquery 表单验证插件
  19. ECMAScript 6基础总结
  20. Hive报错Error during job, obtaining debugging information...

热门文章

  1. 菜鸟如何历练成ACE总监
  2. 支持向量机SVM简介
  3. 本周大新闻|传鸿海计划收购佐臻,Epic推出简易化面捕方案
  4. Linux基础简答题八个(含答案)
  5. Unity3D 虚拟现实开发(五)-UI篇
  6. STM32F103+NRF2401+游戏摇杆ADC双单片机通信遥控小车
  7. 基于LDAP集中系统用户认证系统
  8. 1档3800RPM起步车不动
  9. SQL命令create table if not exist
  10. css 超链接居中,CSS居中:完全指南(译) | Eamonn