2011-05-04 59 views
2

我正在写一个需要解码H.264(AVC)比特流的应用程序。我发现在/ frameworks/base/media/libstagefright/codecs/avc中存在AVC编解码器源代码,是否有人知道在Android应用程序中如何访问这些编解码器?我想这是通过JNI,但不清楚如何做到这一点。在Android上解码H.264(AVC)比特流?

经过一番调查,我认为一种方法是在Android源代码中创建自己的类和JNI接口,以便在Android应用中使用CODECS。 另一种不需要对Android源进行任何更改的方法是将CODECS作为共享库包含在我的应用程序中,使用NDK。对这些有什么想法?哪种方法更好(如果可行)?

我没有找到关于Stagefright的很多信息,如果有人能指出一些,那将是非常棒的?我正在开发Android 2.3.3。

任何意见都非常感激。谢谢!

回答

3

Stagefright不支持基本的H.264解码。然而它确实有H.264解码器组件。理论上,这个库可以使用。但实际上,由于其依赖关系,将其作为独立库使用会很困难。

最好的方法是使用JNI封装的独立h.264解码器(就像ffmpeg提供的解码器一样)。

+0

感谢阿肖克的建议!我会研究一下。 – 2011-07-22 13:18:40