home.social

#screencapturekit — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #screencapturekit, aggregated by home.social.

  1. Как приложения скрывают окна от захвата экрана: SetWindowDisplayAffinity, ScreenCaptureKit и что сломалось в macOS 15

    Если сделать скриншот Netflix или окна воспроизведения в Spotify, на месте видео окажется чёрный прямоугольник. То же произойдёт при демонстрации экрана в Zoom, в записи через OBS и даже в Snipping Tool. Звук идёт, содержимого нет. Это не защита кодека и не трюк с OpenGL-поверхностями. Это один флаг в одном API, который сообщает оконной системе: «это окно не должно попадать в захваченные кадры». Флаг публичный, документированный, появился в Windows 10 ещё в 2020 году и используется любым приложением, которому нужно закрыть содержимое от скриншотов: менеджерами паролей, банковскими клиентами, 2FA-токенами. На macOS раньше был симметричный аналог, но в macOS 15 Sequoia Apple сломала его против ScreenCaptureKit, и теперь картина там сильно запутаннее. На Linux всё зависит от дисплейного сервера. В браузерах работает через цепочку платформенных API. Опыт накопился за то время, пока мы собирали десктопное приложение для онлайн-собеседований, которому эта механика нужна технически: окно с подсказками не должно попадать в демонстрацию экрана. Про продукт — в одном абзаце в конце. Вся остальная статья про то, что под капотом.

    habr.com/ru/articles/1025310/

    #SetWindowDisplayAffinity #WDA_EXCLUDEFROMCAPTURE #ScreenCaptureKit #захват_экрана #NSWindow_sharingType #DWM #WindowsGraphicsCapture #getDisplayMedia #macOS_Sequoia #демонстрация_экрана

  2. Как приложения скрывают окна от захвата экрана: SetWindowDisplayAffinity, ScreenCaptureKit и что сломалось в macOS 15

    Если сделать скриншот Netflix или окна воспроизведения в Spotify, на месте видео окажется чёрный прямоугольник. То же произойдёт при демонстрации экрана в Zoom, в записи через OBS и даже в Snipping Tool. Звук идёт, содержимого нет. Это не защита кодека и не трюк с OpenGL-поверхностями. Это один флаг в одном API, который сообщает оконной системе: «это окно не должно попадать в захваченные кадры». Флаг публичный, документированный, появился в Windows 10 ещё в 2020 году и используется любым приложением, которому нужно закрыть содержимое от скриншотов: менеджерами паролей, банковскими клиентами, 2FA-токенами. На macOS раньше был симметричный аналог, но в macOS 15 Sequoia Apple сломала его против ScreenCaptureKit, и теперь картина там сильно запутаннее. На Linux всё зависит от дисплейного сервера. В браузерах работает через цепочку платформенных API. Опыт накопился за то время, пока мы собирали десктопное приложение для онлайн-собеседований, которому эта механика нужна технически: окно с подсказками не должно попадать в демонстрацию экрана. Про продукт — в одном абзаце в конце. Вся остальная статья про то, что под капотом.

    habr.com/ru/articles/1025310/

    #SetWindowDisplayAffinity #WDA_EXCLUDEFROMCAPTURE #ScreenCaptureKit #захват_экрана #NSWindow_sharingType #DWM #WindowsGraphicsCapture #getDisplayMedia #macOS_Sequoia #демонстрация_экрана

  3. Как приложения скрывают окна от захвата экрана: SetWindowDisplayAffinity, ScreenCaptureKit и что сломалось в macOS 15

    Если сделать скриншот Netflix или окна воспроизведения в Spotify, на месте видео окажется чёрный прямоугольник. То же произойдёт при демонстрации экрана в Zoom, в записи через OBS и даже в Snipping Tool. Звук идёт, содержимого нет. Это не защита кодека и не трюк с OpenGL-поверхностями. Это один флаг в одном API, который сообщает оконной системе: «это окно не должно попадать в захваченные кадры». Флаг публичный, документированный, появился в Windows 10 ещё в 2020 году и используется любым приложением, которому нужно закрыть содержимое от скриншотов: менеджерами паролей, банковскими клиентами, 2FA-токенами. На macOS раньше был симметричный аналог, но в macOS 15 Sequoia Apple сломала его против ScreenCaptureKit, и теперь картина там сильно запутаннее. На Linux всё зависит от дисплейного сервера. В браузерах работает через цепочку платформенных API. Опыт накопился за то время, пока мы собирали десктопное приложение для онлайн-собеседований, которому эта механика нужна технически: окно с подсказками не должно попадать в демонстрацию экрана. Про продукт — в одном абзаце в конце. Вся остальная статья про то, что под капотом.

    habr.com/ru/articles/1025310/

    #SetWindowDisplayAffinity #WDA_EXCLUDEFROMCAPTURE #ScreenCaptureKit #захват_экрана #NSWindow_sharingType #DWM #WindowsGraphicsCapture #getDisplayMedia #macOS_Sequoia #демонстрация_экрана

  4. Как приложения скрывают окна от захвата экрана: SetWindowDisplayAffinity, ScreenCaptureKit и что сломалось в macOS 15

    Если сделать скриншот Netflix или окна воспроизведения в Spotify, на месте видео окажется чёрный прямоугольник. То же произойдёт при демонстрации экрана в Zoom, в записи через OBS и даже в Snipping Tool. Звук идёт, содержимого нет. Это не защита кодека и не трюк с OpenGL-поверхностями. Это один флаг в одном API, который сообщает оконной системе: «это окно не должно попадать в захваченные кадры». Флаг публичный, документированный, появился в Windows 10 ещё в 2020 году и используется любым приложением, которому нужно закрыть содержимое от скриншотов: менеджерами паролей, банковскими клиентами, 2FA-токенами. На macOS раньше был симметричный аналог, но в macOS 15 Sequoia Apple сломала его против ScreenCaptureKit, и теперь картина там сильно запутаннее. На Linux всё зависит от дисплейного сервера. В браузерах работает через цепочку платформенных API. Опыт накопился за то время, пока мы собирали десктопное приложение для онлайн-собеседований, которому эта механика нужна технически: окно с подсказками не должно попадать в демонстрацию экрана. Про продукт — в одном абзаце в конце. Вся остальная статья про то, что под капотом.

    habr.com/ru/articles/1025310/

    #SetWindowDisplayAffinity #WDA_EXCLUDEFROMCAPTURE #ScreenCaptureKit #захват_экрана #NSWindow_sharingType #DWM #WindowsGraphicsCapture #getDisplayMedia #macOS_Sequoia #демонстрация_экрана

  5. Google、macOS 15 Sequoiaで導入された画面収録の許可を毎月求めるプロンプトに対応するため「Google Chrome」でScreenCaptureKitの利用を実験的に開始。
    applech2.com/archives/20240925

    #applech2 #Google #Apple #Chrome #macOS_15 #ScreenCaptureKit #Sequoia #不具合

  6. Google、macOS 15 Sequoiaで導入された画面収録の許可を毎月求めるプロンプトに対応するため「Google Chrome」でScreenCaptureKitの利用を実験的に開始。
    applech2.com/archives/20240925

    #applech2 #Google #Apple #Chrome #macOS_15 #ScreenCaptureKit #Sequoia #不具合

  7. Google、macOS 15 Sequoiaで導入された画面収録の許可を毎月求めるプロンプトに対応するため「Google Chrome」でScreenCaptureKitの利用を実験的に開始。
    applech2.com/archives/20240925

    #applech2 #Google #Apple #Chrome #macOS_15 #ScreenCaptureKit #Sequoia #不具合

  8. SCError.h has been properly annotated in Xcode 15 beta 7. Now you can refer to SCStreamError in code from within a @available check, without crashing on older macOS versions. #Xcode #macOS #ScreenCaptureKit

  9. SCError.h has been properly annotated in Xcode 15 beta 7. Now you can refer to SCStreamError in code from within a @available check, without crashing on older macOS versions. #Xcode #macOS #ScreenCaptureKit

  10. SCError.h has been properly annotated in Xcode 15 beta 7. Now you can refer to SCStreamError in code from within a @available check, without crashing on older macOS versions. #Xcode #macOS #ScreenCaptureKit

  11. SCError.h has been properly annotated in Xcode 15 beta 7. Now you can refer to SCStreamError in code from within a @available check, without crashing on older macOS versions. #Xcode #macOS #ScreenCaptureKit

  12. I'm trying to screen record HDR using ScreenCaptureKit. I've got P3 colors working by configuring a 10-bit pixel format and setting the color space.
    But when I try to record high dynamic range video (like those recorded by iPhone), I get blown out white pixels.
    How do I record HDR? #macOS #ScreenCaptureKit #HDR

  13. I'm trying to screen record HDR using ScreenCaptureKit. I've got P3 colors working by configuring a 10-bit pixel format and setting the color space.
    But when I try to record high dynamic range video (like those recorded by iPhone), I get blown out white pixels.
    How do I record HDR? #macOS #ScreenCaptureKit #HDR

  14. I'm trying to screen record HDR using ScreenCaptureKit. I've got P3 colors working by configuring a 10-bit pixel format and setting the color space.
    But when I try to record high dynamic range video (like those recorded by iPhone), I get blown out white pixels.
    How do I record HDR? #macOS #ScreenCaptureKit #HDR

  15. I'm trying to screen record HDR using ScreenCaptureKit. I've got P3 colors working by configuring a 10-bit pixel format and setting the color space.
    But when I try to record high dynamic range video (like those recorded by iPhone), I get blown out white pixels.
    How do I record HDR? #macOS #ScreenCaptureKit #HDR

  16. Update: In the latest SDKs, Apple has correctly annotated the SCStreamError enum. But they forgot the SCStreamErrorDomain string constant. So referring to that still crashes on older macOS versions. #Xcode #macOS #ScreenCaptureKit

  17. Update: In the latest SDKs, Apple has correctly annotated the SCStreamError enum. But they forgot the SCStreamErrorDomain string constant. So referring to that still crashes on older macOS versions. #Xcode #macOS #ScreenCaptureKit

  18. Update: In the latest SDKs, Apple has correctly annotated the SCStreamError enum. But they forgot the SCStreamErrorDomain string constant. So referring to that still crashes on older macOS versions. #Xcode #macOS #ScreenCaptureKit

  19. Update: In the latest SDKs, Apple has correctly annotated the SCStreamError enum. But they forgot the SCStreamErrorDomain string constant. So referring to that still crashes on older macOS versions. #Xcode #macOS #ScreenCaptureKit

  20. Took a look at new #ScreenCaptureKit features in macOS #Sonoma. Talked to Apple engineers during WWDC and played around with the beta. Especially excited about sharing without asking permission, that permission flow was a blocker for a lot of users.

    nonstrict.eu/blog/2023/a-look-

  21. I’ve been playing around with the new ScreenCaptureKit features in macOS Sonoma. I noticed a lot of bugs in this first beta, but I like the new features! #macOS #ScreenCaptureKit
    nonstrict.eu/blog/2023/a-look-

  22. I’ve been playing around with the new ScreenCaptureKit features in macOS Sonoma. I noticed a lot of bugs in this first beta, but I like the new features! #macOS #ScreenCaptureKit
    nonstrict.eu/blog/2023/a-look-

  23. I’ve been playing around with the new ScreenCaptureKit features in macOS Sonoma. I noticed a lot of bugs in this first beta, but I like the new features! #macOS #ScreenCaptureKit
    nonstrict.eu/blog/2023/a-look-

  24. It was great to talk to the engineers working on #ScreenCaptureKit at the lab session. They had some useful tips for how to improve our code.
    And I could forward all my feedbacks from the past few months that never reached them through Feedback Assistant. #wwdc23

  25. It was great to talk to the engineers working on #ScreenCaptureKit at the lab session. They had some useful tips for how to improve our code.
    And I could forward all my feedbacks from the past few months that never reached them through Feedback Assistant. #wwdc23

  26. It was great to talk to the engineers working on #ScreenCaptureKit at the lab session. They had some useful tips for how to improve our code.
    And I could forward all my feedbacks from the past few months that never reached them through Feedback Assistant. #wwdc23

  27. It was great to talk to the engineers working on #ScreenCaptureKit at the lab session. They had some useful tips for how to improve our code.
    And I could forward all my feedbacks from the past few months that never reached them through Feedback Assistant. #wwdc23

  28. There's a bug in ScreenCaptureKit where sometimes the call to `try await SCShareableContent.current` simply never returns. After a couple days of doing ScreenCaptureKit development, it gets stuck and the callback no longer returns. The workaround is rebooting the computer. 😢
    Filed as FB12114396
    #FeedbackAssistant #macOS #radar #ScreenCaptureKit
    github.com/nonstrict-hq/SCShar

  29. There's a bug in ScreenCaptureKit where sometimes the call to `try await SCShareableContent.current` simply never returns. After a couple days of doing ScreenCaptureKit development, it gets stuck and the callback no longer returns. The workaround is rebooting the computer. 😢
    Filed as FB12114396
    #FeedbackAssistant #macOS #radar #ScreenCaptureKit
    github.com/nonstrict-hq/SCShar

  30. There's a bug in ScreenCaptureKit where sometimes the call to `try await SCShareableContent.current` simply never returns. After a couple days of doing ScreenCaptureKit development, it gets stuck and the callback no longer returns. The workaround is rebooting the computer. 😢
    Filed as FB12114396
    #FeedbackAssistant #macOS #radar #ScreenCaptureKit
    github.com/nonstrict-hq/SCShar

  31. There's a bug in ScreenCaptureKit where sometimes the call to `try await SCShareableContent.current` simply never returns. After a couple days of doing ScreenCaptureKit development, it gets stuck and the callback no longer returns. The workaround is rebooting the computer. 😢
    Filed as FB12114396
    #FeedbackAssistant #macOS #radar #ScreenCaptureKit
    github.com/nonstrict-hq/SCShar

  32. PSA when using ScreenCaptureKit in an app that also needs to run on macOS < 12.3:

    Don't reference the type SCStreamError from your code, not even inside an @available scope.

    When using SCStreamError in your code, it causes a `dyld: Library not loaded: .../ScreenCaptureKit.framework` error when running on older macOS versions.

    As a workaround use raw values for error domain and code: github.com/nonstrict-hq/scstre
    FB12052574 #Xcode #macOS #ScreenCaptureKit

  33. PSA when using ScreenCaptureKit in an app that also needs to run on macOS < 12.3:

    Don't reference the type SCStreamError from your code, not even inside an @available scope.

    When using SCStreamError in your code, it causes a `dyld: Library not loaded: .../ScreenCaptureKit.framework` error when running on older macOS versions.

    As a workaround use raw values for error domain and code: github.com/nonstrict-hq/scstre
    FB12052574 #Xcode #macOS #ScreenCaptureKit