在 Android 上解码 H.264(AVC) 比特流?
我正在编写一个需要解码 H.264(AVC) 比特流的应用程序。我发现 /frameworks/base/media/libstagefright/codecs/avc 中存在 AVC 编解码器源,有谁知道如何在 Android 应用程序中访问这些编解码器?我猜是通过 JNI 实现的,但不清楚如何做到这一点。
经过一番调查后,我认为一种方法是在 Android 源代码中创建我自己的类和 JNI 接口,以便能够在 Android 应用程序中使用 CODECS。 另一种不需要对 Android 源代码进行任何更改的方法是将 CODECS 作为共享库包含在我的应用程序中,使用 NDK。对这些有什么想法吗?哪种方式更好(如果可行)?
我没有找到太多有关 Stagefright 的信息,如果有人能指出一些,那就太好了?我正在 Android 2.3.3 上进行开发。
非常感谢任何评论。谢谢!
I am writting an app which needs to decode H.264(AVC) bitstream. I find there are AVC codec sources exist in /frameworks/base/media/libstagefright/codecs/avc, does anyone know how can one get access to those codecs in an Android app? I guess it's through JNI, but not clear about how this can be done.
After some investigation I think one approach is to create my own classes and JNI interfaces in the Android source to enable using the CODECS in an Android App.
Another way which does not require any changes in Android source is to include CODECS as shared library in my application, use NDK. Any thoughts on these? Which way is better(if feasible)?
I didn't find much information about Stagefright, it would be great if anyone can point out some? I am developing on Android 2.3.3.
Any comments are highly appreciated.Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Stagefright 不支持基本 H.264 解码。然而它确实有 H.264 解码器组件。理论上这个库是可以用的。但实际上,由于其依赖性,很难将其用作独立库。
最好的方法是使用 JNI 包装的独立 h.264 解码器(如 ffmpeg 提供的解码器)。
Stagefright does not support elementary H.264 decoding. However it does have H.264 decoder component. In theory, this library could be used. But in reality, it will be tough to use it as a standalone library due to its dependencies.
Best approach would be use to JNI wrapped independent h.264 decoder(like the one available with ffmpeg).