我有一项新任务,即将来自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/