Webrtc渲染视频截图

时间:2017-09-28 11:00:44

标签: java android webrtc

我想截取渲染的远程视频视图。

到目前为止,我尝试了这些功能:

1

public Bitmap getLastFrame(RelativeLayout remoteView)
    {
        Bitmap bitmap = null;
        if(remoteView.getChildCount()>0) {
            SurfaceViewRenderer rtcEAGLView = (SurfaceViewRenderer) remoteView.getChildAt(0);
            rtcEAGLView.getBackground();
              bitmap = ActivityUtils.takeScreenshot(rtcEAGLView);
        }
        return bitmap;
    }

public static Bitmap takeScreenshot(View container) {
        container.setVisibility(View.VISIBLE);
        getScreenShot(container);

        final Bitmap bmp = Bitmap.createBitmap(container.getWidth(), container.getHeight(), Bitmap.Config.ARGB_8888);
        final Canvas canvas = new Canvas(bmp);
        container.setDrawingCacheEnabled(true);
        container.measure(
                View.MeasureSpec.makeMeasureSpec(canvas.getWidth(), View.MeasureSpec.EXACTLY),
                View.MeasureSpec.makeMeasureSpec(canvas.getHeight(), View.MeasureSpec.EXACTLY));
        container.layout(0, 0, container.getMeasuredWidth(), container.getMeasuredHeight());
        canvas.drawBitmap(container.getDrawingCache(), 0, 0, new Paint());

        return bmp;
    }
  1. void frame()
    {
        EGL10 egl = (EGL10) EGLContext.getEGL();
        GL10 gl = (GL10)egl.eglGetCurrentContext().getGL();
        Bitmap snapshotBitmap = createBitmapFromGLSurface(0, 0, 400, 400/* height*/, gl);
    }
    
  2. 通过尝试这些方法,我无法获取屏幕截图,因为位图仅返回空白区域。其余的区域截图被捕获,但渲染的部分没有被删除。

0 个答案:

没有答案