【发布时间】:2014-07-24 22:22:52
【问题描述】:
我正在处理一个视频会议项目。我们使用软件编解码器对视频帧进行编码和解码,这对于较低的分辨率(最高 320p)效果很好。我们已计划支持我们的应用程序以获得高达 720p 的更高分辨率。我开始知道硬件加速可以很好地完成这项工作。
由于硬件编解码器 api 媒体编解码器可从 Jelly Bean 开始,我已将其用于编码和解码,并且工作正常。但是从 2.3 开始支持我的应用程序。所以我需要对 30fps 的 720p 的 H.264 帧进行硬件加速视频解码。
在研究中发现了通过修改怯场框架来使用 OMX 编解码器的想法。我读过 H.264 的硬件解码器从 2.1 开始可用,而编码器从 3.0 开始就在那里。我浏览了本网站上给出的许多文章和问题,并确认我可以继续。
我读过关于怯场建筑here -architecture 和here- stagefright how it works
我读到了 OMX 编解码器 here- use-android-hardware-decoder-with-omxcodec-in-ndk。
我在开始时遇到了麻烦,并且对其实施有些困惑。我想了解一些有关它的信息。
- 对于在我的代码中使用 OMX 编解码器,我应该使用整个 android 源代码树来构建我的项目,还是可以通过从 AOSP 源代码中添加一些文件来实现(如果是,那么全部)。
- 我应该从头开始执行哪些步骤来实现它。
有人可以给我一个指导吗
谢谢...
【问题讨论】:
-
“我应该从头开始执行哪些步骤来实现它。” 确实很广泛。对于单个 StackOverflow 问题,您可能应该缩小范围。例如,确定一个您认为必要但不确定如何执行的特定步骤。然后问一个问题。
-
@Michael 好的,我会这样做。但是你能检查我的第一个问题吗..我应该拿android的完整源代码吗?
-
@androkid.. 您是否需要从
Java层访问编解码器,或者访问由您的应用程序的JNI实现抽象的本机层中的编解码器是否足够? -
@Ganesh 我期待您的答复。我想在 JNI 级别本身工作..
-
@Ganesh 我没有编辑 AOSP 源代码的经验。这就是为什么对如何开始实施有点困惑。如果你给我一些建议,我会努力的。我知道你是这方面的高手.....
标签: android android-ndk hardware-acceleration stagefright openmax