使用WebRTC时将相机预览渲染到SurfaceTexture上

时间:2016-12-07 18:17:13

标签: android opengl-es android-camera webrtc google-cardboard

我正在构建一个使用WebRTC的增强现实应用(使用Google Cardboard)(我使用pristine.io的已编译源)将相机预览流式传输到网络客户端。用户应该能够看到"通过"相机。

我的问题是:为了让用户能够透过相机看,我需要使用{{1}的实例将相机预览渲染到SurfaceTexture(用于虚拟现实视图)上}。这本身很容易(并且已经完成),但是WebRTC已经创建了camera的实例(在一个名为camera的类中),其中两个同时显然不起作用。此外,VideoCapturerAndroid有一个私有构造函数(并提供工厂方法),并且没有相机字段的Getter。因此,我无法通过字段设置预览纹理...

我试图找到源代码,只能更改该类(例如创建一个Getter),但没有成功。 我还想过创建一个VideoCapturerAndroid来渲染WebRTC库正在绘制的GLSurfaceView.RendererGLSurfaceView(在此解释:https://coderwall.com/p/6koh_g/rendering-any-android-view-directly-to-an-opengl-texture),但渲染器是已经在SurfaceTexture设置,根据文档,您只能设置一次视图的渲染器。

有没有人知道如何访问VideoRendererGui中的相机字段或在其他位置获取预览数据以将其呈现在VideoCapturerAndroid上?

0 个答案:

没有答案