-
Notifications
You must be signed in to change notification settings - Fork 209
View_Streaming
buliaoyin edited this page Jul 13, 2017
·
3 revisions
Table of Contents
SDK从v4.2.4版本开始支持将普通的Android View内容叠加到视频画面上进行直播推流。
注意:该功能不支持软编兼容模式。
-
创建所需叠加的View放在预览View之上.
Demo中使用了一个第三方封装好的 PaintView 来实现手绘功能。
-
创建ViewCapture,并进行初始化.
// 创建ViewCapture mPaintViewCapture = new ViewCapture(mStreamer.getGLRender()); // 将创建好的ViewCapture输出连接到图像mixer上,此处使用空闲的7号SinkPin(0-2分别被camera和水印占据) mPaintViewCapture.getSrcPin().connect(mStreamer.getImgTexMixer().getSinkPin(7)); // 设置PaintView在视频上的位置及大小,此处我们是全屏模式 mStreamer.getImgTexMixer().setRenderRect(7, 0, 0, 1, 1, 1); // 设置从PaintView中取出的画面大小,一般不要超过视频大小,以节省资源 mPaintViewCapture.setTargetResolution(mStreamer.getTargetWidth(), mStreamer.getTargetHeight()); // 设置刷新频率,一般配置为推流的fps mPaintViewCapture.setUpdateFps(mStreamer.getTargetFps());
-
开始叠加
// 参数为所需要叠加的View实例 mPaintViewCapture.start(mPaintView);
-
停止叠加
// 停止针对此View的采集、叠加 mPaintViewCapture.stop(); // 清空PaintView mPaintView.clear(); mPaintView.setVisibility(View.GONE);