mac 里如何运行 ssh 连接进来的终端打开摄像头权限?

2024-09-18 13:33:47 +08:00
 chopin1998519
我有一个 mac , 不过主要是 ssh 登录的, 希望能登录进去打开一个 python 程序(opencv -> 调用摄像头)

直接在图形界面下的 terminal 里打开, 系统会提示要摄像头授权, 通过一次的话,以后就能正常打开

但是 ssh 登录的怎么打开这个权限呢?求教
2904 次点击
所在节点    Python
16 条回复
GoNewEra
2024-09-18 15:02:45 +08:00
打不开
chopin1998519
2024-09-18 15:37:30 +08:00
@GoNewEra #1 。。。。不会吧
ugpu
2024-09-18 15:39:50 +08:00
纯命令行是无法直接打开摄像头权限的 必须 GUI. 这是 MAC 的系统安全决定的
ElmerZhang
2024-09-18 15:44:10 +08:00
给 mac 开 vnc ,vnc 连上去就是全功能了。
zcybupt2016
2024-09-18 15:48:02 +08:00
换个思路,改为在那台 mac 上用 OBS 主动推流,应该可以控制 OBS 什么时候推,四舍五入就是调用那边的摄像头了

https://github.com/Elektordi/obs-websocket-py
billlee
2024-09-18 16:50:48 +08:00
写个 daemon 在 terminal 下运行,负责打开摄像头然后把 fd 通过 unix socket 传给你的程序?
swLoXtOtd89pGg8t
2024-09-18 17:06:53 +08:00
“直接在图形界面下的 terminal 里打开, 系统会提示要摄像头授权, 通过一次的话,以后就能正常打开”

可不可以写个 py 调用这个能在 gui terminal 打开的程序,手动允许第一次,之后远程就可用了?
mightybruce
2024-09-18 18:03:06 +08:00
这种不可行的,ssh 即使可以打开也是非常慢的, 你就不能用远程 frp h 行的,ssh 即使可以打开也是非常慢的, 你应该考虑的是各种内网穿透的操作,比如 frp
rqYzyAced2NbD8fw
2024-09-19 03:33:44 +08:00
@mightybruce 不懂就问,frp 什么时候提供登陆机器、视频推流之类的功能了?是 frp 进步的太快我没跟上吗
chopin1998519
2024-09-19 09:22:04 +08:00
我使用 py 打开摄像头进行处理, 并不需要推视频流。。

看来只能使用各种奇技淫巧了。。
buzz2d0
2024-09-19 10:05:34 +08:00
macOS 摄像头这种访问权限是由 TCC 控制的,要不就直接连上物理机给你的应用添加上这个权限。
buzz2d0
2024-09-19 10:08:18 +08:00
要说奇技淫巧的话,可以查下 tcc.db 哪个应用有这个权限,注入 dylib 获取视频流,可以参考我之前写的文章(大概是这个意思: https://mp.weixin.qq.com/s/NtY9VFOjvyKW6caliZPXiQ
chopin1998519
2024-09-19 16:13:10 +08:00
@buzz2d0 #12 获得 新关键词! 感谢
volvo007
2024-09-19 17:07:54 +08:00
外接 usb 摄像头的话有没有可能直接获取? 当然传输层面肯定不是通过 ssh
AlanZ1997
2024-09-23 16:46:46 +08:00
AppleScript 了解下,
applescript = """
tell application "QuickTime Player"
activate
new movie recording
start document 1
set miniaturized of window 1 to true
delay 1 -- 延迟 10 秒以确保录制开始
tell application "System Events"
keystroke "q" using {command down, control down} -- 锁屏
end tell
end tell
"""
AlanZ1997
2024-09-23 16:48:07 +08:00
可以参考下我以前写的脚本 https://github.com/zbbalan/Apple_Movie_Script.git

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1073699

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX