Видеолаг на WebRTC Куренто для Android - PullRequest
0 голосов
/ 02 мая 2019

https://github.com/IhorKlimov/Android-WebRtc/tree/master/app/src/main/java/com/myhexaville/androidwebrtc/app_rtc_sample/web_rtc

Мы наблюдаем задержку видео при записи сеанса мобильного экрана через API WebRTC Kurento для Android и нуждаемся в улучшении качества видео.

Нужна помощь, чтобы избавиться отзадержка видео.

Мобильный код записи снимка экрана, как показано ниже,

private void startScreenCapture() {
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
            applicationStatus = Constant.APP_STATUS_LIVE;
            MediaProjectionManager mediaProjectionManager = (MediaProjectionManager) getApplication().getSystemService(Context.MEDIA_PROJECTION_SERVICE);
startActivityForResult(mediaProjectionManager.createScreenCaptureIntent(), CAPTURE_PERMISSION_REQUEST_CODE);
        }
}

Ниже упомянуто "ScreenCapturerAndroid" - класс WebRTC, который разрешает запись,

private VideoCapturer createScreenCapturer() {
        if (mediaProjectionPermissionResultCode != Activity.RESULT_OK) {
            return null;
        }

       VideoCapturer videoCapturer = null;    
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {    
        videoCapturer = new ScreenCapturerAndroid(mediaProjectionPermissionResultData, new MediaProjection.Callback() {
                @Override    
            public void onStop() {    
                Logger.d(TAG, "User revoked permission to capture the screen.");    
            }    
        });    
    }        

    if (videoCapturer != null) {    
        return videoCapturer;    
    }    
    return null;    
}

Обратите вниманиеиз класса PeerConnectionParameters мы установили / изменили несколько параметров, таких как videoWidth, videoHeight, videoFps, videoBitrate.

Наблюдалось после изменения указанных параметров, записанное видео зависало.

...