在Jelly Bean之前的Android中用于H.264的硬件加速视频解码

在Jelly Bean之前的Android中用于H.264的硬件加速视频解码,第1张

概述我正在开展视频会议项目.我们使用软件编解码器对视频帧进行编码和解码,这样可以在较低分辨率(高达320p)下正常工作.我们计划支持我们的应用程序,以获得高达720p的更高分辨率.我开始知道硬件加速可以很好地完成这项工作.由于硬件编解码器api媒体编解码器可从JellyBean开始使用,我

我正在开展视频会议项目.我们使用软件编解码器对视频帧进行编码和解码,这样可以在较低分辨率(高达320p)下正常工作.我们计划支持我们的应用程序,以获得高达720p的更高分辨率.我开始知道硬件加速可以很好地完成这项工作.

由于硬件编解码器API媒体编解码器可从Jelly Bean开始使用,我已将其用于编码和解码,并且工作正常.但我的应用程序得到2.3的支持.因此,我需要对30帧/秒的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源中的一些文件来完成(如果是的话,那就是全部).
>从头开始我应该遵循哪些步骤来实现它.

有人可以给我一个指导方针

谢谢…

解决方法:

描述OMXCodec在本机层中集成的最好例子是命令行实用程序stagefright,可以在GingerBread本身中观察到here.这个例子说明了OMXCodec is created.

有些要点需要注意:

> OMXCodec的输入应该建模为MediaSource,因此,您应该确保您的应用程序处理此要求.可以在record utility file as DummySource中找到用于创建基于MediaSource的源的示例.
>解码器的输入,即MediaSource应通过read方法提供数据,因此,您的应用程序应为每次读取调用提供单独的帧.
>可以使用NativeWindow创建解码器以进行输出缓冲区分配.在这种情况下,如果您希望从cpu访问缓冲区,您可能应该参考this query以获取更多详细信息.

总结

以上是内存溢出为你收集整理的在Jelly Bean之前的Android中用于H.264的硬件加速视频解码全部内容,希望文章能够帮你解决在Jelly Bean之前的Android中用于H.264的硬件加速视频解码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1107396.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存