我有一项新任务,即将来自HEVC的解码器(FFMPEG)集成到Android的Stagefright。为此,我首先需要创建一个OMX组件,我的下一步是在media_codecs.xml中注册我的编解码器,然后在OMX中注册OMXCore组件。

是否有用于为视频解码器创建OMX组件的指南或步骤?其次,此解码器仅播放基本流(.bin.h265文件),因此此处没有容器格式。

在为视频编解码器创建OMX组件时,任何人都可以提供一些步骤或指南。任何指针都将对我真正有帮助。

提前致谢。

最佳答案

通常,您可以按照steps pointed in this question将解码器集成到OMX Core中。

HEVC尚不是OMX IL规范的一部分。因此,在role中注册时,必须为组件引入一个新的video_decoder.hevc,例如media_codecs.xml。请检查您的OMX核心是否可以支持此新的role

如果您只尝试播放基本流,则可以考虑修改stagefright command line utility以读取基本流数据并馈入解码器。

另一种选择是修改当前的recordVideo utility以读取帧数据并创建decoder而不是encoder。有了这些,我想您应该能够从命令行播放解码器。

编辑:如果您希望构建一个新的OMX组件,我建议您可以参考Bellagio Component Writers Guide,它应该提供有关如何构建OMX组件的良好信息。这为构建新组件提供了相当全面的指南。请确保您能够识别Bellagio实现和核心实现的依赖项。

另外,您可以在此处查看其他公共领域OMX实现:
http://androidxref.com/4.4.2_r1/xref/hardware/ti/omap4xxx/domx/
http://androidxref.com/4.4.2_r1/xref/hardware/qcom/media/mm-video-v4l2/vidc/

我觉得Bellagio可以作为一个很好的入门参考,如果您以前没有构建OMX组件的话。 Bellagio的来源可在Sourceforge上获得。

关于android - Android:为视频解码器创建OMX组件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21898320/

10-10 09:44