Scrcpy
scrcpy是一个免费开源的跨平台屏幕镜像程序,可直接从Windows 、macOS或Linux系统查看并控制Android设备,轻松快速地实现屏幕镜像。[1]该软件托管于GitHub,目前由Genymobile公司开发[2],这家公司还开发了Android模拟器 Genymotion。[3]
原作者 | Romain Vimont |
---|---|
首次发布 | 2018年3月18日 |
当前版本 | v1.24((2022年4月29日 | ))
源代码库 | github |
编程语言 | C, Java |
操作系统 | Windows, macOS, Linux |
平台 | Cross-platform |
类型 | Remote administration |
许可协议 | Apache License 2.0 |
Android 设备和电脑之间的通信主要通过USB连接线,或是无线Wifi连线的TCP/IP方式进行传输。[4]Android设备无需具有ROOT权限,因为scrcpy经由Android USB调试所开启的ADB通道与其通信。[4][1]屏幕内容默认使用H.264视频流式传输(也支持H.265和AV1)[5],音频内容则是默认使用opus音频流式传输(也支持AAC、FLAC和RAW)[6],最后软件对其进行解码并显示在电脑上。该软件能将键盘和鼠标输入发送到Android设备[4],但某些厂牌的型号需特别设置才能激活此功能。[7]
首次使用需在Android设备上激活USB调试,往后只需将设备连接到电脑,并在电脑上执行scrcpy应用程序,即可控制手机画面。 [3]可以通过命令行界面调整更多设置,例如更改比特率或启用屏幕录制,[2][8] 该软件所支持的Wi-Fi无线连接亦可在此设定。scrcpy还支持快捷键,如Alt+O可关闭设备屏幕,Alt+上下键可调整手机音量,按右键返回,以及双向剪贴板等。 [9]
How-To Geek的Chris Hoffman曾将scrcpy与AirMirror和Vysor进行比较,提到二者具有相似功能。Hoffman还指出Miracast也是一种方案,同时表示Miracast在新的Android设备中将不再受到广泛支持,并且无法远程控制设备。[3]
历史
编辑Romain Vimont 于 2017 年 12 月 12 日首次提交到 GitHub 数据库。 [10] scrcpy v1.0 于 3 个月后发布,包括对基本屏幕镜像和android远程控制的功能。第一个版本包含一个Windows 可执行文件和服务器。 [11]社区将打包向前推进,并为众多Linux发行版提供了这款程序。 [12]
开发重心
编辑scrcpy 的官方文档[2] 说明了它的开发重心
- 轻量化(原生、只映射设备屏幕)
- 性能(可达30~120fps,受限与设备)
- 画质(包括但不限于1920×1080)
- 低延迟(可低至35~70ms[13])
- 启动时间短(连接时约少于1秒)
- 非侵入性(不需在设备上安装应用程序)
- 为用户着想(无需账户,无广告,使用时无需网络连接)
- 自由(自由开源软件)
功能要点
编辑官方软件仓库的 README 中记载了该软件的主要功能:
- 音频转发(适用于Android 11及以上)
- 录制
- 在镜像屏幕同时关闭设备的显示画面
- 双向的剪贴板
- 可配置的流质量
- 摄像头镜像(适用于Android 12及以上)
- 将镜像画面转换成摄像头输入(V4L2)(仅适用于Linux)
- 物理键盘和鼠标模拟(HID)
- OTG模式
图形用户界面
编辑scrcpy 的命令行界面由开源开发人员移植到图形用户界面。
# | 别名 | 初始提交 | 网址 |
---|---|---|---|
1 | QtScrcpy [14] [15] | 2018 年 10 月 9 日 | https://github.com/barry-ran/QtScrcpy (页面存档备份,存于互联网档案馆) |
2 | guiscrcpy [16] [17] [18] | 2019 年 6 月 13 日 | https://github.com/srevinsaju/guiscrcpy (页面存档备份,存于互联网档案馆) |
3 | scrcpy-gui | 2019 年 8 月 26 日 | https://github.com/Tomotoes/scrcpy-gui/ (页面存档备份,存于互联网档案馆) |
参考
编辑- ^ 1.0 1.1 Duino, Justin. How to control your Android phone from your computer with Scrcpy. 9to5Google. 9 March 2018 [4 March 2020]. (原始内容存档于4 March 2020) (美国英语).
- ^ 2.0 2.1 2.2 Genymobile/scrcpy. Github. (原始内容存档于2024-05-29).
- ^ 3.0 3.1 3.2 Hoffman, Chris. How to Mirror and Control Your Android Phone on Any Windows PC. How-To Geek. [4 March 2020]. (原始内容存档于9 January 2020) (美国英语).
- ^ 4.0 4.1 4.2 Fedewa, Joe. Control your Android Smartphone from your PC for free with scrcpy. xda-developers. 12 March 2018 [4 March 2020]. (原始内容存档于4 March 2020) (美国英语).
- ^ scrcpy/doc/video.md at master · Genymobile/scrcpy. GitHub. [2024-04-06] (英语).
- ^ scrcpy/doc/audio.md at master · Genymobile/scrcpy. GitHub. [2024-04-06] (英语).
- ^ scrcpy/FAQ.md at master · Genymobile/scrcpy. GitHub. [2024-04-06]. (原始内容存档于2024-05-27) (英语).
- ^ Open Source Project - Scrcpy now works wirelessly. Genymotion – Android Emulator for app testing. [4 March 2020]. (原始内容存档于4 March 2020) (美国英语).
- ^ Torres, JC. scrcpy can now mirror Android screens on desktops with the display off. SlashGear. 13 June 2019 [4 March 2020]. (原始内容存档于4 March 2020) (美国英语).
- ^ Initial commit · Genymobile/scrcpy@54d9148. GitHub. [2020-05-04]. (原始内容存档于2021-08-26) (英语).
- ^ Release scrcpy v1.0 · Genymobile/scrcpy. GitHub. [2021-02-15]. (原始内容存档于2021-11-03) (英语).
- ^ Search Results for scrcpy. pkgs.org. [2020-05-04].
- ^ Reduce latency by 1 frame by rom1v · Pull Request #646 · Genymobile/scrcpy. GitHub. [2024-06-01]. (原始内容存档于2024-05-30) (英语).
- ^ QtScrcpy-Control Android phone with computer, multi-touch support, Peace Elite game, Chinese interface[Win/macOS/Linux] » FUCHSIANDROID. FUCHSIANDROID. 2020-04-07 [2020-05-04]. (原始内容存档于2021-12-08) (英国英语).
- ^ Barry, barry-ran/QtScrcpy, 2020-05-04 [2020-05-04], (原始内容存档于2022-03-31)
- ^ Logix. Helper GUI For scrcpy, The Android Desktop Display And Remote Control Tool. Linux Uprising Blog. [2020-05-04]. (原始内容存档于2022-05-07) (美国英语).
- ^ Saju, Srevin, srevinsaju/guiscrcpy, 2020-05-04 [2020-05-04], (原始内容存档于2022-04-30)
- ^ comment, 25 Sep 2019 Seth KenlonFeed 71up 1. Mirror your Android screen on your computer with Guiscrcpy. Opensource.com. [2020-05-04]. (原始内容存档于2021-08-26) (英语).