ser*_*ira 11 peripherals macos camera automation
我想根据 MBP 上的相机使用情况自动化个人工作流程。
基本上我想知道是否有任何相机(内置或 USB)已打开或关闭,以便我可以运行我将创建的程序或脚本。
我认为如果我需要轮询相机状态也可以,但基于事件或回调的解决方案将是理想的
Pat*_*ney 13
这似乎有效。
? log stream | grep "Post event kCameraStream"
2020-12-01 14:58:53.137796-0500 0xXXXXXX Default 0x0 XXX 0 VDCAssistant: [com.apple.VDCAssistant:device] [guid:0xXXXXXXXXXXXXXXXX] Post event kCameraStreamStart
2020-12-01 14:58:56.431147-0500 0xXXXXXX Default 0x0 XXX 0 VDCAssistant: [com.apple.VDCAssistant:device] [guid:0xXXXXXXXXXXXXXXXX] Post event kCameraStreamStop
2020-12-01 14:58:56.668970-0500 0xXXXXXX Default 0x0 XXX 0 VDCAssistant: [com.apple.VDCAssistant:device] [guid:0xXXXXXXXXXXXXXXXX] Post event kCameraStreamStart
Run Code Online (Sandbox Code Playgroud)
输出中的一些数字用 X 进行了编辑,因为我不知道它们的含义。:)
neu*_*242 10
log stream --predicate 'eventMessage contains "Post event kCameraStream"'仅适用于 macOS Big Sur
在 macOS Monterey 上,您必须使用稍微不同的谓词:
$ log stream --predicate 'subsystem contains "com.apple.UVCExtension" and composedMessage contains "Post PowerLog"'
Timestamp Thread Type Activity PID TTL
2021-10-27 12:21:13.366628+0200 0x147c5 Default 0x0 353 0 UVCAssistant: (UVCExtension) [com.apple.UVCExtension:device] UVCExtensionDevice:0x1234005d7 [0x7fe3ce008ca0] Post PowerLog {
"VDCAssistant_Device_GUID" = "00000000-1432-0000-1234-000022470000";
"VDCAssistant_Power_State" = On;
}
2021-10-27 12:21:16.946379+0200 0x13dac Default 0x0 353 0 UVCAssistant: (UVCExtension) [com.apple.UVCExtension:device] UVCExtensionDevice:0x1234005d7 [0x7fe3ce008ca0] Post PowerLog {
"VDCAssistant_Device_GUID" = "00000000-1432-0000-1234-000022470000";
"VDCAssistant_Power_State" = Off;
}
Run Code Online (Sandbox Code Playgroud)
在这里您可以使用log stream --predicate 'eventMessage contains "Cameras changed to"',它甚至可以为您提供活动摄像机的列表:
Timestamp Thread Type Activity PID TTL
2023-03-20 14:07:56.340362+0100 0x21ee Default 0x0 1144 0 ControlCenter: [com.apple.controlcenter:video-effects] Cameras changed to [ControlCenterApp.VideoCamera(id: "FOO-0176-46F7-B185-BAR", name: "FaceTime HD-kamera", utType: Optional(<UTType 0xFOO1c41BAR> com.apple.macbookpro-16-2023 (not dynamic, declared)), batteryInfo: nil, deskViewID: nil, supportedEffects: [portrait], appEffects: [ControlCenterApp.AppVideoEffects(bundleIDs: Set(["com.apple.PhotoBooth"]), bundleNames: ["com.apple.PhotoBooth": "Photo Booth"], enabledEffects: Set([]), unavailableEffects: Set([]))])]
2023-03-20 14:08:09.114873+0100 0x21ee Default 0x0 1144 0 ControlCenter: [com.apple.controlcenter:video-effects] Cameras changed to []
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
987 次 |
| 最近记录: |