ScreenCapture QML Type▲
-
Import Statement: import QtMultimedia
-
Since: Qt 6.5
-
Instantiates:: QScreenCapture
-
Group: ScreenCapture is part of multimedia_qml, multimedia_video_qml
Detailed Description▲
ScreenCapture captures a screen. It is managed by MediaCaptureSession where the captured screen can be displayed in a video preview object or recorded to a file.
The code below shows a simple capture session with ScreenCapture playing back the captured primary screen view in VideoOutput.
CaptureSession {
id
:
captureSession
screenCapture
:
ScreenCapture {
id
:
screenCapture
active
:
true
}
videoOutput
:
VideoOutput
{
id
:
videoOutput
}
}
Screen Capture Limitations▲
On Qt 6.5.2 and above, the following limitations apply to using ScreenCapture:
-
It is only supported with the FFmpeg backend.
-
It is unsupported on Linux with Wayland compositor, due to Wayland protocol restrictions and limitations.
-
It is not supported on mobile operating systems, except on Android. There, you might run into performance issues as the class is currently implemented via QScreen::grabWindow, which is not optimal for the use case.
-
On embedded with EGLFS, it has limited functionality. For Qt Quick applications, the class is currently implemented via QQuickWindow::grabWindow, which can cause performance issues.
-
In most cases, we set a screen capture frame rate that equals the screen refresh rate, except on Windows, where the rate might be flexible. Such a frame rate (75/120 FPS) might cause performance issues on weak CPUs if the captured screen is of 4K resolution. On EGLFS, the capture frame rate is currently locked to 30 FPS.
See Also▲
See also WindowCapture, CaptureSession