一个表面上的多个视频

时间:2016-03-29 12:41:16

标签: android mediacodec

我有一个全屏SurfaceView。我有多个网络流与h264视频,我可以使用MediaCodec进行解码。是否可以指定视频呈现的Surface坐标?所以我可以创造一种视频mozaic?

2 个答案:

答案 0 :(得分:1)

不,那是不可能的。您需要使用多个SurfaceTexture代替,每个视频解码器一个,并使用Open GL将所有纹理渲染到一个视图中。

有关其工作原理的更多说明,请参阅https://source.android.com/devices/graphics/architecture.html;特别是,每个Surface只能有一个生产者和一个消费者。

答案 1 :(得分:0)

在单个SurfaceView中 - 没有。有关更多信息,您可以浏览SurfaceView源代码。也许您可以使用少量SurfaceView创建一些马赛克效果并添加特殊字节缓冲区三聚体 - 将一个视频组合到几个SV并获得完整视频。

但无论如何!如果我们谈论绩效,那将不是一个好主意。