ScreenCapture QML Type | Qt Multimedia 6.8.0
Description: This type is used for capturing a screen.

- Qt 6.8
- Qt Multimedia
- QML Types
- ScreenCapture
- Qt 6.8.0 Reference Documentation

# ScreenCapture QML Type

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

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

- List of all members, including inherited members

## Properties

- active : bool
- error : enumeration
- errorString : string
- screen : Screen

## 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.