应用介绍
Mac mini、Mac Studio 出厂根本不带摄像头,MacBook 那颗内置的一到暗光就糊成一团,想开个像样的视频会议还得再花几百块买个外接摄像头。可抽屉里那台退役的旧手机,摄像头素质吊打大多数百元网络摄像头,就这么躺着吃灰。
PhoneCam 干的就是把这台闲置手机接进 Mac 当摄像头。安卓插数据线走 ADB,iPhone 走苹果的连续互通相机,画面在本机硬件解码、本机处理,不建虚拟麦克风、不录制、不经过任何云端中转,安卓这边也不用 root、不用另装配套 APK。
目前是 macOS 13+ 的开发者预览版,以源码方式分发,自己编译安装;已经实测跑通的是「安卓 USB → PhoneCam → OBS 虚拟摄像头 → 会议软件」这一条路,iPhone 和 UVC 两条通路代码已经写好但还缺真机验证。MIT 许可证。
三条采集通路:安卓 USB 走官方 scrcpy 相机服务端推 H.264、再交给 VideoToolbox 硬件解码;安卓若厂商开放了 Webcam 模式则走原生 UVC;iPhone XR 及以后的机型走连续互通相机。三条路共用同一套命令和处理管线,换手机不用换工具。
原生实时预览:一条 phonecam preview 直接开出原生预览窗,先确认画面方向、构图、有没有卡顿,再决定要不要推给会议软件,不用在别的应用里瞎试。
画面变换:旋转、水平镜像、裁切、填充或留黑边都能调。手机架在桌面上方俯拍文档、拍产品特写时,画面歪了不用去搬手机,加个 --rotate 90 就正过来了。
接进 OBS:通过 Syphon 把处理好的 GPU 帧直接共享给 OBS,再由 OBS 开启虚拟摄像头输出成系统摄像头设备,会议软件的摄像头列表里直接选。这条路不需要屏幕录制权限。
命令行调参:分辨率 640×480 / 1280×720 / 1920×1080,帧率 15、24、25、30、60fps 可选,默认 720p30,码率、前后置摄像头也能指定。参数写进脚本,下次开会一条命令还原同样的配置。
诊断工具:phonecam doctor 一次性列出权限、设备和扩展状态;phonecam probe 跑一段时间统计采集帧和处理帧数量并输出 JSON。连不上或者掉帧时,能直接看出是数据线、ADB 授权还是解码这一环出的问题。
依赖可校验:安装脚本下载的是官方 scrcpy-server 3.3.4,并核对写死在仓库里的 SHA-256,不会被中途替换成来路不明的二进制。
PhoneCam 干的就是把这台闲置手机接进 Mac 当摄像头。安卓插数据线走 ADB,iPhone 走苹果的连续互通相机,画面在本机硬件解码、本机处理,不建虚拟麦克风、不录制、不经过任何云端中转,安卓这边也不用 root、不用另装配套 APK。
目前是 macOS 13+ 的开发者预览版,以源码方式分发,自己编译安装;已经实测跑通的是「安卓 USB → PhoneCam → OBS 虚拟摄像头 → 会议软件」这一条路,iPhone 和 UVC 两条通路代码已经写好但还缺真机验证。MIT 许可证。
软件功能
三条采集通路:安卓 USB 走官方 scrcpy 相机服务端推 H.264、再交给 VideoToolbox 硬件解码;安卓若厂商开放了 Webcam 模式则走原生 UVC;iPhone XR 及以后的机型走连续互通相机。三条路共用同一套命令和处理管线,换手机不用换工具。
原生实时预览:一条 phonecam preview 直接开出原生预览窗,先确认画面方向、构图、有没有卡顿,再决定要不要推给会议软件,不用在别的应用里瞎试。
画面变换:旋转、水平镜像、裁切、填充或留黑边都能调。手机架在桌面上方俯拍文档、拍产品特写时,画面歪了不用去搬手机,加个 --rotate 90 就正过来了。
接进 OBS:通过 Syphon 把处理好的 GPU 帧直接共享给 OBS,再由 OBS 开启虚拟摄像头输出成系统摄像头设备,会议软件的摄像头列表里直接选。这条路不需要屏幕录制权限。
命令行调参:分辨率 640×480 / 1280×720 / 1920×1080,帧率 15、24、25、30、60fps 可选,默认 720p30,码率、前后置摄像头也能指定。参数写进脚本,下次开会一条命令还原同样的配置。
诊断工具:phonecam doctor 一次性列出权限、设备和扩展状态;phonecam probe 跑一段时间统计采集帧和处理帧数量并输出 JSON。连不上或者掉帧时,能直接看出是数据线、ADB 授权还是解码这一环出的问题。
依赖可校验:安装脚本下载的是官方 scrcpy-server 3.3.4,并核对写死在仓库里的 SHA-256,不会被中途替换成来路不明的二进制。


