【发布时间】:2023-03-22 23:46:01
【问题描述】:
目前我正在使用来自索尼运动相机开发者的示例应用程序。此示例应用程序连接到运动相机并使用 HTTP 数据包获取图像。这些图像位于 HTTP 的有效负载中,我可以在 SurfaceView 上绘制它们。我要做的是从 SurfaceView 获取帧并将它们编码为 H264。我正在阅读它可以通过 MediaCodec 完成,但我有点困惑,文档没有解释太多。这里有任何 Mediacodec 专家可以帮助我吗?
【问题讨论】:
-
这里有各种例子:github.com/google/grafika
-
嗨 Fadden,哪个示例对我最有帮助?我还看到很多 GLSurfaceView,我正在使用 drawBitpmap 在画布上绘图。我是否必须将我的 SurfaceView 切换到 GL 或者我仍然可以使用它?泰
-
你不要在SurfaceView上画图,然后再从SurfaceView中提取。您绘制两次,一次到 SurfaceView 进行显示,一次到 MediaCodec 输入 Surface。 Grafika 中只有一项活动使用 GLSurfaceView,尽管它可能是最相关的一项,这很不幸,因为 GLSurfaceView 会混淆事物。然而,GLSurfaceView 只是 SurfaceView 的一个封装函数——您可以使用 GL 或 Canvas 在任何 Surface 上绘制(但不能同时使用两者)。您将能够通过 GL 渲染获得更高的帧速率;不确定这对你的工作是否重要。
-
场景是:Sony Camera liveView -> 智能手机解码并使用画布在 SurfaceView 上渲染 liveView(它还不是 h264)-> 智能手机使用 mediacodec 在 h264 中编码,并将编码流提供给客户端 RSTP将发送到 wowza
标签: android surfaceview h.264 android-mediacodec sony-camera-api