夜雨聆风学习资料网

ARTICLE · 1324660

用scrcpy把安卓手机变成OBS摄像头

用scrcpy把安卓手机变成OBS摄像头

    我时常会有录屏的需求,电脑自带摄像头的画质我感觉还可以,但是因为固定在屏幕上方,角度有时候真不太好调整 。

    我又不想为了这个需求再去单买一个摄像头。

    所以我就在想,能不能还是用电脑录屏,把手机当成摄像头?这样手机放在哪里、拍什么角度,都可以自己调整。

    用 AI 找了下方案后,我选择了用免费的开源工具 scrcpy 跑通了。手机通过无线调试连接 Mac,再由 OBS 同时录制电脑屏幕和手机摄像头画面,而且前置和后置都能够很好的支持。

    这篇文章,我就把完整配置过程写下来。

    先说下,我具体使用的环境:

    • M2 Mac;
    • 荣耀手机,Android 15;
    • scrcpy 5.0.1;
    • OBS Studio 30.1.2;
    • 手机和 Mac 连接同一个局域网。

    手机当摄像头,不只 scrcpy 一种方案

    AI 给我推荐的 DroidCam、Camo,还有直接通过浏览器传输画面的 VDO.Ninja。这些方案都能解决一部分问题,但采用的方式不太一样。

    方案
    接入方式
    免费版情况
    特点
    DroidCam
    手机 App + OBS 插件
    官方将标清列为免费能力
    图形化配置更直接
    Camo
    手机 App + Camo Studio
    免费版最高 720p
    高分辨率和更多镜头属于 Pro
    VDO.Ninja
    手机浏览器 + OBS 浏览器源
    免费,可自行部署
    使用浏览器和 WebRTC 链路
    scrcpy
    ADB + scrcpy 窗口
    免费、开源
    本地运行,不需要手机安装常驻 App

    这里不是说其他工具不能用, 主要是免费版的有一些限制,而且还要装软件和插件等,对比下 scrcpy 刚好比较符合。

    它免费开源,不需要注册账号;可以直接使用官方二进制包;手机端也不用再安装一个常驻摄像头软件。

    所以我最后选了它。

    scrcpy 到底是什么

    scrcpy 是一款免费、开源的 Android 投屏和控制工具。它支持 USB 和无线连接,不需要 Root,也不用在手机上安装常驻客户端。

    除了用电脑控制手机,它还支持录制、剪贴板同步、安装 APK、传输文件和读取手机摄像头。

    开始前,先检查设备

    这套流程有几个前提:

    • Android 手机,scrcpy 不适用于 iPhone;
    • Android 12 或更高版本;
    • 手机和电脑连接同一个局域网;
    • 手机需要开启开发者选项和无线调试。

    下载二进制包

    scrcpy 可以通过 Homebrew 安装,但我看了它的依赖有点多,怕给我的电脑环境整坏了,所以直接用的二进制包,解压即可使用。

    打开官方 Release 页面:

    https://github.com/Genymobile/scrcpy/releases/latest

    根据芯片选择版本:

    • M1、M2、M3、M4 等 Apple Silicon,选择 macos-aarch64;
    • Intel Mac,选择 macos-x86_64。

    下载后直接解压不需要安装。本文暂时假设目录是:

    ~/Applications/scrcpy/

    打开终端,进入目录:

    cd ~/Applications/scrcpy

    二进制包中已经有可用的 scrcpy 和 adb,所以不需要另外安装 Platform-Tools,也不修改系统 PATH。

    检查版本:

    ./scrcpy --version./adb version

    两条命令都能正常输出版本信息,这一步就通过了。

    注意: 如果 macOS 阻止首次运行,到“系统设置 → 隐私与安全性”中允许打开。

    手机上打开无线调试

    不同品牌手机的菜单名字不完全一样。荣耀手机需要先开启开发人员选项,再进入无线调试。

    如果开发人员选项还没打开,可以进入“设置 → 关于手机”,连续点击版本号,直到系统提示已经进入开发者模式。

    然后返回设置,找到“开发人员选项”,打开“无线调试”。

    确认 Mac 和手机连接同一个 Wi-Fi,然后点击“使用配对码配对设备”。

    手机上会出现一个弹框显示 IP 地址、配对端口和六位配对码。

    先不要关闭,后续会使用到。

    Mac 和手机完成无线连接

    回到终端,确认仍在 scrcpy 目录:

    cd ~/Applications/scrcpy

    假设手机显示的配对地址是:

    192.168.1.23:37145

    执行:

    ./adb pair 192.168.1.23:37145

    输入手机上的六位配对码。看到类似结果,说明配对完成:

    Successfully paired to 192.168.1.23:37145

    如果没成功,先检查是不是把配对端口和配对码是否正确。

    先测试普通投屏

    上面连接成功之后,可以用一个简单的测试下。

    先执行:

    ./scrcpy

    如果 Mac 上出现手机屏幕,鼠标可以控制手机,键盘也能输入,说明无线调试、ADB 和 scrcpy 都已经正常。

    调用手机前置摄像头

    先查看手机有哪些摄像头:

    ./scrcpy --list-cameras./scrcpy --list-camera-sizes

    官方提醒,列出的尺寸和帧率仅来自手机厂商声明,不代表每种组合都一定能稳定运行。

    一般知识类录屏,1080p、30 FPS 已经够用。60 FPS 会增加编码压力、无线传输量和手机发热,对人物口播未必有明显提升。

    前置摄像头:

    ./scrcpy \  --video-source=camera \  --camera-facing=front \  --camera-size=1920x1080 \  --camera-fps=30\  --no-audio

    这些参数分别代表:

    • --video-source=camera:读取摄像头,而不是手机屏幕;
    • --camera-facing=front:选择前置摄像头;
    • --camera-size=1920x1080:使用 1080p;
    • --camera-fps=30:使用 30 FPS;
    • --no-audio:不传输手机麦克风声音。

    注意这里如果是横屏的话,我们手机摆放的位置也是横着放才行,要不然拍出来的画面角度是不对的。

    后置摄像头

    后置摄像头只需要把 front 改成 back:

    ./scrcpy \  --video-source=camera \  --camera-facing=back \  --camera-size=1920x1080 \  --camera-fps=30\  --no-audio

    如果画面方向不对,可以增加:

    --orientation=90

    根据实际情况尝试 0、90、180 或 270。

    如果 1080p 启动失败,先降到 720p:

    ./scrcpy \  --video-source=camera \  --camera-facing=front \  --camera-size=1280x720 \  --camera-fps=30\  --no-audio

    先跑通,再提高参数。

    在 OBS 中加入电脑屏幕

    前面 scrcpy 调通之后,我们就可以在 OBS 中去操作了。

    打开 OBS Studio,新建一个场景,例如:

    电脑录屏 + 手机摄像头

    在 “来源” 区域点击加号,添加“macOS 屏幕采集”。

    将采集方式设置为显示器采集,选择需要录制的屏幕。

    macOS 可能会要求给 OBS 屏幕录制权限。授权后如果预览仍然是黑色,完全退出 OBS,再重新打开。

    OBS 画布中能看到完整电脑屏幕,切换窗口后画面也会正常变化即为正常

    把 scrcpy 摄像头窗口加入 OBS

    在同一个场景中,再添加一个“macOS 屏幕采集”来源。

    这一次选择窗口采集,并在窗口列表中选择 scrcpy 所有的窗口。

    确认后,手机摄像头画面就会出现在 OBS 画布中。

    不过这里有个注意的地方,因为是用的窗口采集,会把 scrcpy 窗口的边框也同步录进去了,不够干净,这里有 2 个方法可以处理。

    第一种是 scrcpy 启动的时候加上 --window-borderless

    --window-borderless 会去掉标题栏和边框,OBS 采到的就只有纯画面只是如果要拖动窗口的话就不太方便。

    另一种是通过 OBS 截剪

    1. 在"来源"里右键这个窗口采集 → 变换 → 编辑变换
    2. 在 裁剪 一栏,把"上"填 50 左右(标题栏高度),其他边按需要调
    3. 一边预览一边调数值,直到边框消失

    scrcpy 还能控制手机和传文件

    把手机摄像头接入 OBS,只是 scrcpy 的一个用途。

    普通模式运行:

    ./scrcpy

    Mac 会显示手机屏幕,可以用鼠标点击和滑动,也可以用键盘输入文字。它还支持电脑和手机之间的剪贴板同步。

    把普通文件拖进 scrcpy 的手机屏幕窗口,文件会默认发送到:

    /sdcard/Download/

    如果拖进去的是 APK,scrcpy 会尝试安装。执行结果会显示在终端中。

    scrcpy 的窗口拖放主要是电脑向手机推送,并不是完整的双向文件管理器。

    要把手机文件取回 Mac,可以使用:

    ./adb pull /sdcard/Download/example.mp4 ~/Downloads/

    复制相机目录:

    ./adb pull /sdcard/DCIM/Camera ~/Downloads/Phone-Camera

    从 Mac 发送文件也可以使用:

    ./adb push ~/Downloads/example.mp4 /sdcard/Download/

    准确来说,scrcpy 原生支持拖放把文件推到手机;配合它使用的 adb,可以完成两个方向的文件传输。

    几个容易卡住的地方

    配对成功,但连接不上

    检查 adb pair 和 adb connect 是否错误地使用了同一个端口。配对弹窗中的端口用于配对,无线调试主页面中的端口用于连接。

    adb devices 没有手机

    检查手机和 Mac 是否在同一局域网、无线调试是否仍然打开,以及连接端口是否变化。重新执行:

    ./adb connect 手机IP:当前连接端口./adb devices

    摄像头模式启动失败

    确认 Android 不低于 12,然后运行:

    ./scrcpy --list-cameras./scrcpy --list-camera-sizes

    如果 1080p 失败,先改成 720p、30 FPS。

    OBS 找不到 scrcpy

    先确认 scrcpy 摄像头窗口仍然开着。在 OBS 中添加“macOS 屏幕采集”并选择窗口采集,不要添加“视频采集设备”。

    OBS 画面是黑的

    检查 OBS 是否获得 macOS 屏幕录制权限。刚授权过的话,完全退出并重启 OBS。

    录出来有两层声音

    确认 scrcpy 命令中带有:

    --no-audio

    声音统一交给 OBS 中的主麦克风,链路更简单,也更容易处理同步。

    写在最后

    以上就是用 scrcpy 把安卓手机摄像头接入 OBS 的完整配置过程。

    如果你们也需要一边录制电脑操作、一边拍摄人物画面,又不想额外购买摄像头,可以试试这套方案。

    如果对你有帮助,也欢迎点赞关注老梁,你们的支持是我继续下去的动力,也可以关注我,和我一起交流AI相关知识,我们一起学习,提高和成长。

    回首页,搜索你想要的文档

    在首页搜索框输入关键词,快速定位资料

    文库首页搜索指引 立即搜索

    相关学习资料