通过用于Android的WebRTC Kurento API记录移动屏幕会话时,我们正在观察视频延迟,并且需要提高视频质量。
需要帮助来消除视频延迟。
手机屏幕截图录制代码如下,
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
。
在修改上述参数后观察到,录制的视频会冻结。