音频AAC编码浅析
/*
* unsigned long nSampleRate, // 采样率,单位是bps
* unsigned long nChannels, // 声道,1为单声道,2为双声道
* unsigned long &samplesInput, // 传引用,得到每次调用编码时所应接收的原始数据长度
* unsigned long &maxBytesOutput // 传引用,得到每次调用编码时生成的AAC数据的最大长度
*/
enc = faacEncOpen(samplerate, channels, &samplesInput, &maxBytesOutput);
在使用aac编码之前 由已知采样率和声道 首先获取 每次aac编码所应接收的原始数据长度即上面代码中第三个参数 samplesInput
还有每次编码时输出的aac数据最大长度 即上面代码中第四个参数 maxBytesOutput
音频编码:
int enc_result = faacEncEncode(enc, (int32_t *) pcm_buffer, samplesInput, out, enc_size);
在真正音频aac编码时,该接口使用的pcm_buffer[] 也就是输入的原始数据要等于之前获取的每次aac编码所应接收的原始数据长度 也就是上面获取的 samplesInput 的长度
enc_size 就是上面获取的每次编码时输出的aac数据最大长度 也就是上面获取的 maxBytesOutput
上面 out[] 大小就是 maxBytesOutput 的长度
备注:在音频编码的时候只需要原始的pcm数据,那些时间戳跟真正aac编码没有太大关系。时间戳可能会跟音频aac编码后的数据一起进行下一步操作。
---------------------------------------------
http://blog.sina.com.cn/s/blog_4d61a75701016j05.html
音频AAC编码浅析的更多相关文章
- 在嵌入式、海思、ARM中进行统一的音频AAC编码的必要性
前言 最近来到深圳,跟许多做硬件的小伙伴聊安防.聊互联网.聊技术,受益颇多,其中聊到一点,大家一直都在想,互联网发展如此迅猛,为啥大部分的摄像机还是采用的传统G.726/G.711的音频编码格式呢,如 ...
- iOS音频AAC视频H264编码 推流最佳方案
iOS音频AAC视频H264编码 推流最佳方案 项目都是个人的调研与实验,可能很多不好或者不对的地方请多包涵. 1 功能概况 * 实现音视频的数据的采集 * 实现音视频数据的编码,视频编码成 ...
- 采集音频和摄像头视频并实时H264编码及AAC编码[转]
0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法.那种方法有一些局限性,不适合实时性质的应用,如:视频会议.视频聊天.视频监控等.本文所使用的技术, ...
- 采集音频和摄像头视频并实时H264编码及AAC编码
转自:http://www.cnblogs.com/haibindev/archive/2011/11/10/2244442.html 0. 前言 我在前两篇文章中写了DirectShow捕获音视频然 ...
- 笔记- iphone手机音频AAC视频H264推流(一) iphone手机推流最佳方案
这几个月一直在做iphone手机音视频的东西,由于个人比较懒,所以一直没整理,现在闲的蛋疼,并且以后项目要搁置了,在这里记录一下我做的iphone手机推流的东西. 项目都是个人的调研与实验,可能很多不 ...
- C++实现RTMP协议发送H.264编码及AAC编码的音视频
http://www.cnblogs.com/haibindev/archive/2011/12/29/2305712.html C++实现RTMP协议发送H.264编码及AAC编码的音视频 RTMP ...
- C++实现RTMP协议发送H.264编码及AAC编码的音视频(转)
C++实现RTMP协议发送H.264编码及AAC编码的音视频(转) RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia ...
- 【转】C++实现RTMP协议发送H.264编码及AAC编码的音视频
RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系F ...
- RTMP协议发送H.264编码及AAC编码的音视频,实现摄像头直播
RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系F ...
随机推荐
- 【poj1195】Mobile phones(二维树状数组)
题目链接:http://poj.org/problem?id=1195 [题意] 给出一个全0的矩阵,然后一些操作 0 S:初始化矩阵,维数是S*S,值全为0,这个操作只有最开始出现一次 1 X Y ...
- 条款2:尽量以const enum inline 来替换 #define
这里说的意思其实相当于,宁可以用编译器来替换预处理器 因为使用预处理器可能使得被处理过的东西无法进入符号表,例如 #define MAXLEN 16 这里的MAXLEN并没有进入符号表,这样有编译错误 ...
- kibana查询语法
单项term查询 例: 搜 Dahlen, Malone 字段field查询 field:value 例:city:Keyport, age:26 通配符 ? 匹配单个字符 例: H?b ...
- 几个Unity3d UI制作的解决方案.
1.ex2D的渲染机制 (高效的原因) 在以往的2D插件中,渲染方式是每个sprite单独渲染,由Unity负责Dynamic Batching.在新版ex2D中,我们经过严谨的优化实现了独立的dyn ...
- Linux下安装SVN(Subversion)
一.安装直接运行命令用YUM安装: yum install subversion -y 二.创建版本库创建版本库用svnadmin create命令,大概语法是svnadmin create svn库 ...
- ResNet网络结构
MSRA(微软亚洲研究院)何凯明团队的深度残差网络(Deep Residual Network)在2015年的ImageNet上取得冠军,该网络简称为ResNet(由算法Residual命名),层数达 ...
- haroopad 语法高亮问题
<!DOCTYPE html> Untitled.html div.oembedall-githubrepos{border:1px solid #DDD;border-radius:4p ...
- ERP与MES
EAS-ERP企业资源计划系统 能将企业的客户管理.商品管理.采购管理.仓储管理.销售管理.生产管理.应收应付.财务管理.工资管理.费用管理和业绩考核管理以及业务预警和全方位的分析汇总融为一体,为企业 ...
- 《笔者带你剖析Apache Commons DbUtils 1.6》(转)
前言 关于Apache的DbUtils中间件或许了解的人并不多,大部分开发人员在生成环境中更 多的是依靠Hibernate.Ibatis.Spring JDBC.JPA等大厂提供的持久层技术解决方案, ...
- 学习动态性能表(3)--v$sql&v$sql_plan
学习动态性能表 第三篇-(1)-v$sq 2007.5.25 V$SQL中存储具体的SQL语句. 一条语句可以映射多个cursor,因为对象所指的cursor可以有不同用户(如例1).如果有多个cur ...