Android PCM音频的采集和编码成AAC
来源:互联网 发布:js 歌手 编辑:程序博客网 时间:2024/06/06 18:46
Android原生的视频录制是不能做到分段不漏秒的,所以需要定制一套录制系统。
该系统的核心步骤如下:
(A)同步采集视频帧数据(YV12)和音频帧数据(PCM);
(B)通过硬件编码器对所述视频帧数据和音频帧数据进行编码;(视频:YV12->H.264,音频:PCM->AAC)
(C)将编码后的视频帧数据和音频帧数据及其时间戳传输给分段录像模块;
(D)将时间戳对应的视频帧数据和音频帧数据写入多媒体文件;
(E)判断所述多媒体文件的时长是否达到预设的最大时长,若达到最大时长则保存多媒体文件并进入下一步,否则保持步骤(D);
(F)新建多媒体文件,采用前一多媒体文件的最后一视频帧作为第一视频帧,跳转至步骤(D)。
今天看一下音频的处理。
PCM(脉冲编码调制)
AAC(高级音频编码)
相关基础:
* 一般情况下,一帧PCM是由2048次采样组成;
* 16位PCM,每一个样本2字节。立体声的PCM数据左右声道交替存储,用L表示左声道的一个PCM样本,R表示右声道的一个PCM样本,PCM数据在WAV文件中的存放序列是这样的:LRLRLRLR……
“Android SDK 提供了两套音频采集的API,分别是:MediaRecorder 和 AudioRecord,前者是一个更加上层一点的API,它可以直接把手机麦克风录入的音频数据进行编码压缩(如AMR、MP3等)并存成文件,而后者则更接近底层,能够更加自由灵活地控制,可以得到原始的一帧帧PCM音频数据。”
我们并没有采用这两种API方法,而是直接把相关功能集成到了mediaserver,定制性更胜一筹。
待续。
0 2
- Android PCM音频的采集和编码成AAC
- FFmepg 音频编码(PCM数据编码成AAC android)
- DirectShow音频采集pcm,实时编码AAC,附源码
- android音频采集,MediaCodec实时PCM转AAC
- android 实时PCM数据编码成AAC
- android AAC音频编码
- windows音频PCM采集及简单编码
- PCM音频采样数据编码为AAC的压缩编码数据
- android 实时PCM数据编码成AAC【转】
- 最简单的基于FFMPEG的音频编码器(PCM编码为AAC)
- 最简单的基于FFMPEG的音频编码器(PCM编码为AAC)
- 最简单的基于FFMPEG的音频编码器(PCM编码为AAC)
- ffmpeg学习十:将pcm格式的音频编码为aac格式
- Android音频AAC硬编码
- 采集音频和摄像头视频并实时H264编码及AAC编码
- 采集音频和摄像头视频并实时H264编码及AAC编码
- 采集音频和摄像头视频并实时H264编码及AAC编码
- 采集音频和摄像头视频并实时H264编码及AAC编码
- 文件操作---二进制
- 中缀表达式转换为前缀后缀最简单的方法
- 写给新人的面向对象的基本思维
- Managing Bitmap Memory
- 接口定义步骤
- Android PCM音频的采集和编码成AAC
- dubobo接口的泛化调用(不依赖jar包)
- JDBC快速入门教程
- Android Studio系列教程二--基本设置与运行
- ARM学习步骤
- JDK,JRE,JVM区别与联系
- Initializing Java Tooling
- 浅谈C# 多态的魅力(虚方法,抽象,接口实现)
- (LeetCode)Intersection of Two Arrays --- 求交集