【发布时间】:2015-11-29 00:42:42
【问题描述】:
我正在开发一个 Android 硬件加速视频解码器,用于解码实时 H264 Annex B 流。经过一番研究,似乎我需要弄脏自己的手才能做到这一点。我遇到了几个关键字,例如OMXCodec、Android 的操作系统stagefright 和ffmpeg 的stagefright、MediaCodec API、GStreamer。我也开始知道 - 硬件无关的实现无法支持所有供应商的硬件。在这个阶段,所有这些都让我感到非常困惑,因为我没有找到任何直接的资源来推进其中任何一个。我的要求是 -
- Android 硬件加速视频解码器
- 至少支持高通的 Snapdragon、三星的 Exynos 和 Tegra
- 必须在本机 C/C++ 层(不是 Java 层)中实现
- Android 4.1.x Jellybean 的支持就足够了
- 无需实施后期阶段,如 - 渲染,因为这些已经在工作。只需要解码输入缓冲区并生成解码后的输出缓冲区即可继续现有的管道。
我试图从 Android 的 stagefright 的 AwesomePlayer.cpp、SimplePlayer.cpp 和 ffmpeg stagefright 的命令行可执行代码中得到一些提示。但对我来说,选择和继续这些东西没有什么意义。
我该如何接近?是否有任何有用的资源来获得清晰的直觉?
提前致谢!
【问题讨论】:
标签: android h.264 android-mediacodec hardware-acceleration stagefright