ScreenCapture QML Type

This type is used for capturing a screen. More...

Import Statement: import QtMultimedia
Since: Qt 6.5
Instantiates: QScreenCapture


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 6.5.3, the following limitations apply to using ScreenCapture:

  • It is only supported with the FFmpeg backend.
  • It is supported on all desktop platforms, except 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 Linux, it works with X11, but it has not been tested on embedded.
  • 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.

See also WindowCapture and CaptureSession.

Property Documentation

active : bool

Describes whether the capturing is currently active.

error : enumeration [read-only]

Returns a code of the last error.

errorString : string [read-only]

Returns a human readable string describing the cause of error.

screen : Screen

Describes the screen for capturing.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.