从 SurfaceView 获取帧并使用 mediacodec 在 H264 中解码

Getting frames from SurfaceView and decode in H264 with mediacodec

目前我正在使用索尼运动相机开发人员的示例应用程序。此示例应用程序连接到运动相机并通过 HTTP 数据包获取图像。这些图像位于 HTTP 的有效负载中,我可以在 SurfaceView 上绘制它们。我想要做的是从 SurfaceView 获取帧并将它们编码为 H264。我正在阅读它可以通过 MediaCodec 完成,但我有点困惑并且文档没有解释太多。这里有 Mediacodec 专家可以帮助我吗?

请检查[this][1]

的EncodeDecodeTest.java

[1]: http://bigflake.com/mediacodec/ 和 [grafica] [1]

[1]: https://github.com/google/grafika ,这将帮助您做到 this.usually 索尼设备有一些您必须注意的颜色格式问题

您可能想试试 Intel INDE Media for Mobile,它有 GLCapture class 可以接受纹理,对它们进行编码并打包以进行流式传输,它具有到 WOWZA 服务器的内置流式传输

教程在这里:https://software.intel.com/en-us/articles/intel-inde-media-pack-for-android-tutorials

样品在 github:https://software.intel.com/en-us/articles/intel-inde-media-pack-for-android-tutorials

有用于游戏捕获的示例,但应该很容易将其更改为从绘制游戏场景切换到从相机到纹理处理位图。