专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 多媒体设计

Android多媒体开发【十】- android中OpenMax的实现【1】整体框架

发布时间:2011-06-27 19:08:17 文章来源:www.iduyao.cn 采编人员:星星草
Android多媒体开发【10】-- android中OpenMax的实现【1】整体框架

1.android中用openmax来干啥?

有了上一篇AwesomePlayer基本框架及播放流程已经很清楚的看到了,android中的 AwesomePlayer就是用openmax来做(code)编解码,其实在openmax接口设计中,他不光能用来当编解码。通过他的组件可以组成一个完整的播放器,包括sourc、demux、decode、output。但是为什么android只用他来做code呢?我认为有以下几方面:


1.在整个播放器中,解码器不得不说是最重要的一部分,而且也是最耗资源的一块。如果全靠软解,直接通过cpu来运算,特别是高清视频。别的事你就可以啥都不干了。所以解码器是最需要硬件提供加速的部分。现在的高清解码芯片都是主芯片+DSP结构,解码的工作都是通过DSP来做,不会在过多的占用主芯片。所有将芯片中DSP硬件编解码的能力通过openmax标准接口呈现出来,提供上层播放器来用。我认为这块是openmax最重要的意义。

2.source 主要是和协议打交道,demux 分解容器部分,大多数的容器格式的分解是不需要通过硬件来支持。只是ts流这种格式最可能用到硬件的支持。因为ts格式比较特殊,单包的大小太小了,只有188字节。所以也是为什么现在常见的解码芯片都会提供硬件ts demux 的支持。

3.音视频输出部分video\audio output 这块和操作系统关系十分紧密。可以看看著名开源播放器vlc。vlc 在mac、linux、Windows都有,功能上差别也不大。所以说他是跨平台的,他跨平台跨在哪?主要的工作量还是在音视频解码完之后的输出模块。因为各个系统的图像渲染和音频输出实现方法不同,所以vlc需要针对每个平台实现不同的output。这部分内容放在openmax来显然不合适。

所以openmax 中硬件抽象的编解码是最为常用的,也是为什么android中只用它来抽象code。

2.android中openmax实现框架



1.上面已经说过了,android系统中只用openmax来做code,所以android向上抽象了一层OMXCodec,提供给上层播放器用。
播放器中音视频解码器mVideosource、mAudiosource都是OMXCodec的实例。

2.OMXCodec通过IOMX 依赖binder机制 获得 OMX服务,OMX服务 才是openmax 在android中 实现。

3. OMX把软编解码和硬件编解码统一看作插件的形式管理起来。
1楼f839903061昨天 10:44
博主辛苦了!非常感谢您的分享!
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • 3DMAX建模,该如何解决

    3DMAX建模 有哪问朋友可以做一个3DMAX的建模? 要求:熟悉3DMAX建模、可以到现场封闭1个月左右 地点:北京 费用:面谈 有意请与我联系:qyn...

  • 小弟我是新手,怎么做建筑动漫

    我是新手,如何做建筑动漫 请问一下动漫高手,我是动漫方面的新手,从那儿着手开始做建筑动漫,得学习哪些工具 ------解决方案---------...

  • 初学AE遇到的一个小疑点

    初学AE遇到的一个小问题! 图中的两个斜线怎么让它消失?就算是预览的时候都在!!!上面的字是Demo mode:Press "Options" to register....

  • 请教一下,纯3D的FLASH,需要什么软件做的

    请问一下,纯3D的FLASH,需要什么软件做的? 满有兴趣的,不知道需要哪些软件才能做, 有人讲直接在三D里面做,再用flash 来接起来的.?听说3D...

  • 问问opengl 和 3Dmax 还有maya的关系,该如何处理

    问问opengl 和 3Dmax 还有maya的关系 想问问 是不是 3D max 和maya 会取代opengl? 因为画三维图形, maya和 3dmax比 opengl 方便...

  • 能从.X文件中读取场景中物体信息么,该怎么处理

    能从.X文件中读取场景中物体信息么 比如说物体的名字,高度,类型,每个物体的贴图名字等等 ------解决方案-------------------- 物...

  • 动画制作,该怎么解决

    动画制作 要制作一个固体物理中的晶体形成的动画,求教,简单的动画 ------解决方案-------------------- 你是要教程还是要实例?...

  • 请问:3D人物动画有关问题

    请教:3D人物动画问题 我用poser7.0做了模型和几个动作比如微笑,摆手,点头等,我要在程序中使用这个模型和动作,模型保存的是3ds格式,动作...

  • 求名词解释 DirectX OpenGL 3Dmax Maya,该如何处理

    求名词解释 DirectX OpenGL 3Dmax Maya DirectX OpenGL 3Dmax Maya 求名词解释 这些软件之间有什么联系?什么区别? ------解决方...

  • 请问 怎么学好3ds max

    请教 如何学好3ds max 我是大二的学生,因为要做三维地图,要学习3ds max, 学习的主要是3ds max在建筑物建模的方面,求问有什么 好的方...

热门推荐: