2013.03.19——— android 音视频编解码个人见解
参考:[url]http://www.erpgear.com/2012/0801/2456.html [/url]
1、android提供的音视频编码只有 AMR-NB(nb是窄频)和H.263
2、android虽然支持gif的解码,只能用mediaplay来播放,但是效果不好
3、android不支持flv的解码
4、AudioTrack只能播放pcm编码的数据,MediaPlayer可以播放MP3,AAC,WAV,OGG,MIDI等
事实上,两种本质上是没啥区别的,MediaPlayer在播放音频时,在framework层还是会创建AudioTrack,
把解码后的PCM数据传递给AudioTrack,最后由AudioFlinger进行混音,传递音频给硬件播放出来。
利用AudioTrack播放只是跳过 Mediaplayer的解码部分而已。Mediaplayer的解码核心部分是基于OpenCORE 来实现的,
支持通用的音视频和图像格式,codec使用的是OpenMAX接口来进行扩展。因此使用audiotrack播放mp3文件的话,要自己加入 一个音频解码器,如libmad。
否则只能播放PCM数据,如大多数WAV格式的音频文件。
5、输出文件格式就相当于一个容器,具体采用什么编码需要指定编码格式。编码一样可能输出格式不一样,输出格式一样其编码方式可能不一样。
6、硬编码:通过调用Android系统自带的Camera录制视频,实际上是调用了底层的高清编码硬件模块,也即显卡,不使用CPU,速度快
软编码:使用CPU进行编码,如常见C/C++代码,一般编译生成的二进制都是的,速度相对较慢。例如使用Android NDK编译H264生成so库,编写jni接口,再使用java调用so库。
7、视频数据有两种yuv和rgb,yuv是rgb大小的一般,所以一般用于数据传输,个人认为 视频文件格式经过解码后 都是以rgb来播放的,所谓的视频播放 就是一帧一帧图像
例如,一个avi文件,经过文件格式解析,得到h264编码流,然后经过h264解码,得到yuv数据,然后转换为rgb,进行播放
8、以一个MP3播放器为例,从功能的角度就是将一个mp3格式的文件作为播放器的输入,将声音从播放设备输出。从实现的角度,MP3播放器经过了一下的阶段:MP3格式的文件解析、MP3编码流的解码、PCM输出的播放。
分享到:
相关推荐
运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势测算行业SOP.pdf 运动休闲娱乐——运势...
微信小程序——新浪读书(截图+源码).zip 微信小程序——新浪读书(截图+源码).zip 微信小程序——新浪读书(截图+源码).zip 微信小程序——新浪读书(截图+源码).zip 微信小程序——新浪读书(截图+源码).zip ...
C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip ...
本特刊——"【eoeAndroid特刊】第18期:Android音视频的编解码"深入探讨了这一主题,提供了丰富的知识和实践指导。 首先,Android音视频编解码的基础知识包括了解音频和视频的基本构成。音频由一系列采样点组成,每...
教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库...
C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言...
java毕业设计——java贪吃蛇游戏设计与开发(源代码+论文).zip java毕业设计——java贪吃蛇游戏设计与开发(源代码+论文).zip java毕业设计——java贪吃蛇游戏设计与开发(源代码+论文).zip java毕业设计——java贪吃蛇...
java毕业设计——驾校预约管理系统源码+数据库.zipjava毕业设计——驾校预约管理系统源码+数据库.zipjava毕业设计——驾校预约管理系统源码+数据库.zipjava毕业设计——驾校预约管理系统源码+数据库.zipjava毕业设计...
这两本权威书籍——"Visual C++音视频编解码技术及实践" 和 "精通Visual C++视频音频编解码技术" 提供了深入的理论知识和实践经验,帮助开发者掌握音视频编解码的核心技术。下面将详细探讨这些知识点。 一、音视频...
java毕业设计——基于Vue+Node的外卖系统设计与实现(答辩PPT+源代码).zip java毕业设计——基于Vue+Node的外卖系统设计与实现(答辩PPT+源代码).zip java毕业设计——基于Vue+Node的外卖系统设计与实现(答辩PPT+源...
C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统....
java毕业设计——基于Springboot的招聘系统源码+数据库.zipjava毕业设计——基于Springboot的招聘系统源码+数据库.zipjava毕业设计——基于Springboot的招聘系统源码+数据库.zipjava毕业设计——基于Springboot的...
嵌入式成品项目——150W 数字电子负载全部PCB、SCH设计.zip嵌入式成品项目——150W 数字电子负载全部PCB、SCH设计.zip嵌入式成品项目——150W 数字电子负载全部PCB、SCH设计.zip嵌入式成品项目——150W 数字电子负载...
java毕业设计——基于spring boot的音乐播放网站设计与实现(源码+数据库).zip java毕业设计——基于spring boot的音乐播放网站设计与实现(源码+数据库).zip java毕业设计——基于spring boot的音乐播放网站设计与...
java毕业设计——基于ssm的流浪猫狗救助网站设计与实现(源码+数据库).zip java毕业设计——基于ssm的流浪猫狗救助网站设计与实现(源码+数据库).zip java毕业设计——基于ssm的流浪猫狗救助网站设计与实现(源码+...
JAVA毕业设计——高性能IM即时通信系统源码+java开发文档.zipJAVA毕业设计——高性能IM即时通信系统源码+java开发文档.zipJAVA毕业设计——高性能IM即时通信系统源码+java开发文档.zipJAVA毕业设计——高性能IM即时...
java毕业设计——户籍管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——户籍管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——户籍管理系统的设计与实现(论文+答辩PPT+...
java毕业设计——售后服务管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——售后服务管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——售后服务管理系统的设计与实现...
java毕业设计——进销存管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——进销存管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——进销存管理系统的设计与实现(论文+...