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

Move macOS screen capturing backend to ScreenCaptureKit

XMLWordPrintable

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

      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

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

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

              Created:
              Updated:

                There are no open Gerrit changes