Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-136989

Move macOS screen capturing backend to ScreenCaptureKit

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 6.9
    • Multimedia
    • None
    • macOS

    Description

      On macOS, window capturing relies on CoreGraphics API (CGWindowListCreateImage)where we essentially just take screenshots at a high rate. This is a fairly hacky and poor solution. This API is also deprecated.

      Screen capturing is currently done through the AVFoundation API (AVCaptureScreenInput). This API is not deprecated but the documentations recommends we move to ScreenCaptureKit.

      The modern API for content sharing on macOS is ScreenCaptureKit: https://developer.apple.com/documentation/screencapturekit?language=objc#overview. We should move our backend to this API.

      There are several future-oriented benefits to this:

      • ScreenCaptureKit allows us to use the system-picker, allowing us to delegate screen/window selection to the user. We also have less need for permission-handling if we do this
      • ScreenCaptureKit supports recording system audio
      • Shared backend for window and screen capturing

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              qtmultimediateam Qt Multimedia Team
              npskalerud Nils Petter Skålerud
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes