이 페이지에서

WindowCapture QML Type

이 유형은 창을 캡처하는 데 사용됩니다. 더 보기...

Import Statement: import QtMultimedia
Since: Qt 6.6
In C++: QWindowCapture

속성

신호

방법

상세 설명

WindowCapture는 창을 캡처합니다. 이 기능은 CaptureSession 에서 관리되며, 캡처된 창은 비디오 미리보기 객체에 표시되거나 파일로 기록될 수 있습니다.

아래 코드는 WindowCapture를 사용하여 사용 가능한 창 중 하나를 캡처하고, 이를 VideoOutput 에서 재생하는 간단한 캡처 세션을 보여줍니다.

CaptureSession {
    id: captureSession
    windowCapture: WindowCapture {
        id: capture
    }
    videoOutput: VideoOutput {
        id: videoOutput
    }

    Component.onCompleted: {
        let windows = capture.capturableWindows()
        if (windows.length > 0) {
            capture.window = windows[0]
            capture.active = true
        }
    }
}

WindowCapture의 제한 사항

WindowCapture 사용 시 다음과 같은 제한 사항이 적용됩니다:

  • WindowCapture는 FFmpeg 백엔드에서만 지원됩니다.
  • 일부 플랫폼에서는 캡처된 창 내용이 변경되지 않는 동안 새로운 비디오 프레임이 출력되지 않습니다. 따라서 애플리케이션은 요청된 프레임 속도로 프레임이 지속적으로 전송될 것이라고 가정해서는 안 됩니다.

X11 시스템에서 QWindowCapture 를 사용할 때 다음과 같은 제한 사항이 적용됩니다:

  • Linux X11 시스템에서 창이 가시 화면 영역 밖으로 부분적으로 이동된 경우, 가시 영역만 캡처됩니다. 그 결과, 출력되는 비디오 프레임의 크기가 창의 기하학적 크기보다 작을 수 있습니다.
  • 가시 화면 영역 밖에 있는 창은 캡처할 수 없으며, 이 경우 오류 신호가 발생합니다.
  • 최소화된 창이나 보이지 않는 가상 작업 공간에 위치한 창의 동작은 창 관리자에 따라 다릅니다. 예를 들어, GNOME에서는 이러한 창을 캡처할 수 있는 반면, WindowMaker나 Xfwm에서는 캡처가 허용되지 않으며 창 캡처 인스턴스에서 오류가 발생합니다.

CaptureSession 및 CapturableWindow도 참조하십시오 .

속성 문서

active : bool

캡처가 현재 활성 상태인지 여부를 나타냅니다.

start() 및 stop()도 참조하십시오 .

error : enumeration [read-only]

마지막 오류의 코드를 반환합니다.

상수설명
WindowCapture.NoError오류 없음
WindowCapture.InternalError내부 창 캡처 드라이버 오류
WindowCapture.CapturingNotSupported창 캡처가 지원되지 않음
WindowCapture.CaptureFailed창 캡처에 실패했습니다
WindowCapture.NotFound선택한 창을 찾을 수 없음

errorString : string [read-only]

오류 원인을 설명하는, 사람이 읽기 쉬운 문자열을 반환합니다.

maximumFrameRate : real [since 6.12]

창 캡처 프레임 속도의 상한값입니다.

이 값을 설정하면 디스플레이 재생 빈도 등을 기준으로 기본값으로 사용되는 캡처 프레임 속도를 재정의할 수 있지만, 창 캡처는 가변적인 속도로 프레임을 생성하므로 상한값으로만 적용됩니다. 이 값을 디스플레이 재생 빈도보다 높게 설정하는 것은 권장되지 않으며 오류가 발생할 수 있습니다.

-1로 설정하면 플랫폼에 따라 달라지는 기본값이 사용됩니다.

이 속성에 대한 변경 사항은 WindowCapture 가 다음에 활성화될 때 적용됩니다.

이 속성은 Qt 6.12에서 도입되었습니다.

window : Window

캡처할 창을 지정합니다.

이 속성을 활성 상태인 WindowCapture 의 유효하지 않은 창으로 설정하면 해당 창이 비활성화되고 오류가 발생합니다.

capturableWindows도 참조하십시오 .

Signal 문서

errorChanged()

이 신호는 error 또는 errorString 속성이 변경될 때 발생합니다.

동일한 오류가 여러 번 발생하더라도 이 신호는 발송되지 않습니다. 이러한 오류를 추적하려면 errorOccurred 신호를 사용하십시오.

참고: 해당 핸들러는 onErrorChanged 입니다.

errorOccurred(int error, string errorString)

error 가 발생할 때, errorString 와 함께 신호를 보냅니다.

error 매개변수에 전달할 수 있는 값에 대해서는 error 의 열거형 표를 참조하십시오.

참고: 해당 핸들러는 onErrorOccurred 입니다.

error도 참조하십시오 .

메서드 문서

list<CapturableWindow> capturableWindows()

현재 캡처할 수 있는 ` CapturableWindow ` 객체 목록을 반환합니다.

참고: macOS에서 이 메서드를 호출하면 “화면 녹화” 권한 대화 상자가 표시됩니다. 아직 권한이 부여되지 않은 경우, 이 메서드는 빈 목록을 반환합니다. 이 메서드를 여러 번 호출하면 해당 대화 상자가 전경으로 표시됩니다.

void start()

window 의 캡처를 시작합니다.

이는 active 속성을 true 로 설정하는 것과 동일합니다.

void stop()

캡처 중지를 수행합니다.

이는 ` active ` 속성을 ` false`로 설정하는 것과 동일합니다.

© 2026 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.