`

2013.03.19——— android 音视频编解码个人见解

阅读更多
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输出的播放。
分享到:
评论

相关推荐

    嵌入式成品项目-无线接收时钟.zip

    嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟...

    基于因子分析的我国A股上市...争力评价——以医药企业为例_张澳.caj

    基于因子分析的我国A股上市...争力评价——以医药企业为例_张澳.caj

    Android经典项目——AndroidStudio版本.zip

    Android经典项目——AndroidStudio版本.zip。 经典项目——AndroidStudio版本.zip经典项目——AndroidStudio版本.zip Android 经典项目 源码

    python项目——微信机器人.zip

    python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人....

    微信小程序——移动端商城(截图+源码).zip

    微信小程序——移动端商城(截图+源码).zip 微信小程序——移动端商城(截图+源码).zip 微信小程序——移动端商城(截图+源码).zip 微信小程序——移动端商城(截图+源码).zip 微信小程序——移动端商城(截图+...

    【eoeAndroid特刊】第18期:Android音视频的编解码.rar

    【Android音视频编解码详解】 在Android应用开发中,音视频处理是不可或缺的一部分,尤其在多媒体应用、游戏以及实时通信等领域。本篇将深入探讨Android音视频的编解码技术,结合“【eoeAndroid特刊】第18期:...

    微信小程序——用户反馈组件(截图+源码).zip

    微信小程序——用户反馈组件(截图+源码).zip 微信小程序——用户反馈组件(截图+源码).zip 微信小程序——用户反馈组件(截图+源码).zip 微信小程序——用户反馈组件(截图+源码).zip 微信小程序——用户反馈...

    python项目——Word助手.zip

    python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目...

    微信小程序——首字母排序选择(截图+源码).zip

    微信小程序——首字母排序选择(截图+源码).zip 微信小程序——首字母排序选择(截图+源码).zip 微信小程序——首字母排序选择(截图+源码).zip 微信小程序——首字母排序选择(截图+源码).zip 微信小程序——首...

    教务管理系统-数据库课程设计mysql+java.zip

    教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库课程设计mysql+java.zip教务管理系统——数据库...

    visual c++音视频编解码技术及实践的音频实现的源代码

    在音视频处理领域,Visual C++ 是一种常用的编程语言,用于开发高性能的音频和视频编解码应用。本文将深入探讨Visual C++在音视频编解码技术中的应用,并基于提供的"vc音视频编解码技术及实践"源代码进行实践分析。 ...

    C语言项目——MP3音乐播放器.zip

    C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——...

    python项目——DIY字符画.zip

    python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip ...

    python项目——RCQ读者书库.zip

    python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ...

    微信小程序——小游戏-别踩白块(截图+源码).zip

    微信小程序——小游戏-别踩白块(截图+源码).zip 微信小程序——小游戏-别踩白块(截图+源码).zip 微信小程序——小游戏-别踩白块(截图+源码).zip 微信小程序——小游戏-别踩白块(截图+源码).zip 微信小程序...

    java毕业设计——基于ssm的仿微博系统设计与实现(源码+数据库).zip

    java毕业设计——基于ssm的仿微博系统设计与实现(源码+数据库).zip java毕业设计——基于ssm的仿微博系统设计与实现(源码+数据库).zip java毕业设计——基于ssm的仿微博系统设计与实现(源码+数据库).zip java毕业...

    微信小程序——学校管理小程序以重邮为例(截图+源码).zip

    微信小程序——学校管理小程序以重邮为例(截图+源码).zip 微信小程序——学校管理小程序以重邮为例(截图+源码).zip 微信小程序——学校管理小程序以重邮为例(截图+源码).zip 微信小程序——学校管理小程序以...

    java毕业设计——基于ssm的房屋租赁系统设计与实现(源码+数据库).zip

    java毕业设计——基于ssm的房屋租赁系统设计与实现(源码+数据库).zip java毕业设计——基于ssm的房屋租赁系统设计与实现(源码+数据库).zip java毕业设计——基于ssm的房屋租赁系统设计与实现(源码+数据库).zip java...

    java毕业设计——基于java的五子棋游戏的设计与开发(源代码+论文).zip

    java毕业设计——基于java的五子棋游戏的设计与开发(源代码+论文).zip java毕业设计——基于java的五子棋游戏的设计与开发(源代码+论文).zip java毕业设计——基于java的五子棋游戏的设计与开发(源代码+论文).zip ...

Global site tag (gtag.js) - Google Analytics