index

  • 投屏软件
  • 注意问题:
  • scrcpy (v1.17)
    • 相关资源:
    • 系统要求
    • 获取本程序
      • Linux
      • Windows
      • macOS
    • 运行
    • 功能介绍
      • 捕获设置
        • 降低分辨率
        • 修改码率
        • 限制帧率
        • 画面裁剪
        • 锁定屏幕方向
        • 编码器
      • 屏幕录制
      • 连接
        • 无线
        • 多设备
        • 在设备连接时自动启动
        • SSH 隧道
      • 窗口设置
        • 标题
        • 位置和大小
        • 无边框
        • 保持窗口在最前
        • 全屏
        • 旋转
      • 其他镜像设置
        • 只读
        • 显示屏
        • 保持常亮
        • 关闭设备屏幕
        • 渲染过期帧
        • 显示触摸
        • 关闭屏保
      • 输入控制
        • 旋转设备屏幕
        • 复制粘贴
        • 双指缩放
        • 文字注入偏好
        • 按键重复
        • 右键和中键
      • 文件拖放
        • 安装APK
        • 将文件推送至设备
      • 音频转发
    • 快捷键
    • 自定义路径
    • 为什么叫 _scrcpy_ ?
    • 如何构建?
    • 常见问题
    • 开发者
    • 许可协议
    • 相关文章
    • 中文教程

投屏软件

  1. https://github.com/Genymobile/scrcpy
  2. https://gitee.com/Barryda/QtScrcpy
    中文说明:https://gitee.com/Barryda/QtScrcpy/blob/master/README_zh.md#
    QtScrcpy可以通过USB(或通过TCP/IP)连接Android设备,并进行显示和控制。不需要root权限。
    单个应用程序最多支持16个安卓设备同时连接。
    同时支持GNU/Linux,Windows和MacOS三大主流桌面平台

注意问题:

  1. 手机通过USB连接到PC上,在弹出的USB用途中选择 传输文件(MTP)
  2. Android 调试桥 (adb)
  3. 运行scrcpy,第一次运行手机上会显示是否接受PC的秘钥,选择接受。

scrcpy (v1.17)

本应用程序可以显示并控制通过 USB (或 TCP/IP) 连接的安卓设备,且不需要任何 root 权限。本程序支持 GNU/Linux, WindowsmacOS

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f2tS0Us4-1630398206167)(assets/screenshot-debian-600.jpg)]

它专注于:

  • 轻量 (原生,仅显示设备屏幕)
  • 性能 (30~60fps)
  • 质量 (分辨率可达 1920×1080 或更高)
  • 低延迟 (35~70ms)
  • 快速启动 (最快 1 秒内即可显示第一帧)
  • 无侵入性 (不会在设备上遗留任何程序)

相关资源:

https://blog.csdn.net/was172/article/details/99705855

系统要求

安卓设备最低需要支持 API 21 (Android 5.0)。

确保设备已开启 adb 调试。

在某些设备上,还需要开启额外的选项以使用鼠标和键盘进行控制。

获取本程序

Linux

在 Debian (目前仅支持 testingsid 分支) 和Ubuntu (20.04) 上:

apt install scrcpy

我们也提供 Snap 包: scrcpy

对 Fedora 我们提供 COPR 包: scrcpy

对 Arch Linux 我们提供 AUR 包: scrcpy

对 Gentoo 我们提供 Ebuild 包:scrcpy/

您也可以自行构建 (不必担心,这并不困难)。

Windows

在 Windows 上,简便起见,我们提供包含了所有依赖 (包括 adb) 的预编译包。

  • README

也可以使用 Chocolatey:

choco install scrcpy
choco install adb    # 如果还没有 adb

或者 Scoop:

scoop install scrcpy
scoop install adb    # 如果还没有 adb

您也可以自行构建。

macOS

本程序已发布到 Homebrew。直接安装即可:

brew install scrcpy

你还需要在 PATH 内有 adb。如果还没有:

# Homebrew >= 2.6.0
brew install --cask android-platform-tools# Homebrew < 2.6.0
brew cask install android-platform-tools

您也可以自行构建。

运行

连接安卓设备,然后执行:

scrcpy

本程序支持命令行参数,查看参数列表:

scrcpy --help

功能介绍

捕获设置

降低分辨率

有时候,可以通过降低镜像的分辨率来提高性能。

要同时限制宽度和高度到某个值 (例如 1024):

scrcpy --max-size 1024
scrcpy -m 1024  # 简写

另一边会被按比例缩小以保持设备的显示比例。这样,1920×1080 分辨率的设备会以 1024×576 的分辨率进行镜像。

修改码率

默认码率是 8Mbps。要改变视频的码率 (例如改为 2Mbps):

scrcpy --bit-rate 2M
scrcpy -b 2M  # 简写

限制帧率

要限制捕获的帧率:

scrcpy --max-fps 15

本功能从 Android 10 开始才被官方支持,但在一些旧版本中也能生效。

画面裁剪

可以对设备屏幕进行裁剪,只镜像屏幕的一部分。

例如可以只镜像 Oculus Go 的一只眼睛。

scrcpy --crop 1224:1440:0:0   # 以 (0,0) 为原点的 1224x1440 像素

如果同时指定了 --max-size,会先进行裁剪,再进行缩放。

锁定屏幕方向

要锁定镜像画面的方向:

scrcpy --lock-video-orientation 0   # 自然方向
scrcpy --lock-video-orientation 1   # 逆时针旋转 90°
scrcpy --lock-video-orientation 2   # 180°
scrcpy --lock-video-orientation 3   # 顺时针旋转 90°

只影响录制的方向。

窗口可以独立旋转。

编码器

一些设备内置了多种编码器,但是有的编码器会导致问题或崩溃。可以手动选择其它编码器:

scrcpy --encoder OMX.qcom.video.encoder.avc

要列出可用的编码器,可以指定一个不存在的编码器名称,错误信息中会包含所有的编码器:

scrcpy --encoder _

屏幕录制

可以在镜像的同时录制视频:

scrcpy --record file.mp4
scrcpy -r file.mkv

仅录制,不显示镜像:

scrcpy --no-display --record file.mp4
scrcpy -Nr file.mkv
# 按 Ctrl+C 停止录制

录制时会包含“被跳过的帧”,即使它们由于性能原因没有实时显示。设备会为每一帧打上 时间戳 ,所以 包时延抖动 不会影响录制的文件。

连接

无线

Scrcpy 使用 adb 与设备通信,并且 adb 支持通过 TCP/IP 连接到设备:

  1. 将设备和电脑连接至同一 Wi-Fi。

  2. 打开 设置 → 关于手机 → 状态信息,获取设备的 IP 地址,也可以执行以下的命令:

    adb shell ip route | awk '{print $9}'
    
  3. 启用设备的网络 adb 功能 adb tcpip 5555

  4. 断开设备的 USB 连接。

  5. 连接到您的设备:adb connect DEVICE_IP:5555 (将 DEVICE_IP 替换为设备 IP).

  6. 正常运行 scrcpy

可能需要降低码率和分辨率:

scrcpy --bit-rate 2M --max-size 800
scrcpy -b2M -m800  # 简写

多设备

如果 adb devices 列出了多个设备,您必须指定设备的 序列号

scrcpy --serial 0123456789abcdef
scrcpy -s 0123456789abcdef  # 简写

如果设备通过 TCP/IP 连接:

scrcpy --serial 192.168.0.1:5555
scrcpy -s 192.168.0.1:5555  # 简写

您可以同时启动多个 scrcpy 实例以同时显示多个设备的画面。

在设备连接时自动启动

您可以使用 AutoAdb:

autoadb scrcpy -s '{}'

SSH 隧道

要远程连接到设备,可以将本地的 adb 客户端连接到远程的 adb 服务端 (需要两端的 adb 协议版本相同):

adb kill-server    # 关闭本地 5037 端口上的 adb 服务端
ssh -CN -L5037:localhost:5037 -R27183:localhost:27183 your_remote_computer
# 保持该窗口开启

在另一个终端:

scrcpy

若要不使用远程端口转发,可以强制使用正向连接 (注意 -L-R 的区别):

adb kill-server    # 关闭本地 5037 端口上的 adb 服务端
ssh -CN -L5037:localhost:5037 -L27183:localhost:27183 your_remote_computer
# 保持该窗口开启

在另一个终端:

scrcpy --force-adb-forward

类似无线网络连接,可能需要降低画面质量:

scrcpy -b2M -m800 --max-fps 15

窗口设置

标题

窗口的标题默认为设备型号。可以通过如下命令修改:

scrcpy --window-title 'My device'

位置和大小

您可以指定初始的窗口位置和大小:

scrcpy --window-x 100 --window-y 100 --window-width 800 --window-height 600

无边框

关闭边框:

scrcpy --window-borderless

保持窗口在最前

您可以通过如下命令保持窗口在最前面:

scrcpy --always-on-top

全屏

您可以通过如下命令直接全屏启动scrcpy:

scrcpy --fullscreen
scrcpy -f  # 简写

全屏状态可以通过 MOD+f 随时切换。

旋转

可以通过以下命令旋转窗口:

scrcpy --rotation 1

可选的值有:

  • 0: 无旋转
  • 1: 逆时针旋转 90°
  • 2: 旋转 180°
  • 3: 顺时针旋转 90°

也可以使用 MOD+← (左箭头) 和 MOD+→ (右箭头) 随时更改。

需要注意的是, scrcpy 有三个不同的方向:

  • MOD+r 请求设备在竖屏和横屏之间切换 (如果前台应用程序不支持请求的朝向,可能会拒绝该请求)。
  • --lock-video-orientation 改变镜像的朝向 (设备传输到电脑的画面的朝向)。这会影响录制。
  • --rotation (或 MOD+←/MOD+→) 只旋转窗口的内容。这只影响显示,不影响录制。

其他镜像设置

只读

禁用电脑对设备的控制 (如键盘输入、鼠标事件和文件拖放):

scrcpy --no-control
scrcpy -n

显示屏

如果设备有多个显示屏,可以选择要镜像的显示屏:

scrcpy --display 1

可以通过如下命令列出所有显示屏的 id:

adb shell dumpsys display   # 在输出中搜索 “mDisplayId=”

控制第二显示屏需要设备运行 Android 10 或更高版本 (否则将在只读状态下镜像)。

保持常亮

阻止设备在连接时休眠:

scrcpy --stay-awake
scrcpy -w

程序关闭时会恢复设备原来的设置。

关闭设备屏幕

可以通过以下的命令行参数在关闭设备屏幕的状态下进行镜像:

scrcpy --turn-screen-off
scrcpy -S

或者在任何时候按 MOD+o。

要重新打开屏幕,按下 MOD+Shift+o.

在Android上,电源 按钮始终能把屏幕打开。为了方便,对于在 scrcpy 中发出的 电源 事件 (通过鼠标右键或 MOD+p),会 (尽最大的努力) 在短暂的延迟后将屏幕关闭。设备上的 电源 按钮仍然能打开设备屏幕。

还可以同时阻止设备休眠:

scrcpy --turn-screen-off --stay-awake
scrcpy -Sw

渲染过期帧

默认状态下,为了降低延迟, scrcpy 永远渲染解码成功的最近一帧,并跳过前面任意帧。

强制渲染所有帧 (可能导致延迟变高):

scrcpy --render-expired-frames

显示触摸

在演示时,可能会需要显示物理触摸点 (在物理设备上的触摸点)。

Android 在 开发者选项 中提供了这项功能。

Scrcpy 提供一个选项可以在启动时开启这项功能并在退出时恢复初始设置:

scrcpy --show-touches
scrcpy -t

请注意这项功能只能显示 物理 触摸 (用手指在屏幕上的触摸)。

关闭屏保

Scrcpy 默认不会阻止电脑上开启的屏幕保护。

关闭屏幕保护:

scrcpy --disable-screensaver

输入控制

旋转设备屏幕

使用 MOD+r 在竖屏和横屏模式之间切换。

需要注意的是,只有在前台应用程序支持所要求的模式时,才会进行切换。

复制粘贴

每次安卓的剪贴板变化时,其内容都会被自动同步到电脑的剪贴板上。

所有的 Ctrl 快捷键都会被转发至设备。其中:

  • Ctrl+c 通常执行复制
  • Ctrl+x 通常执行剪切
  • Ctrl+v 通常执行粘贴 (在电脑到设备的剪贴板同步完成之后)

大多数时候这些按键都会执行以上的功能。

但实际的行为取决于设备上的前台程序。例如,Termux 会在按下 Ctrl+c 时发送 SIGINT,又如 K-9 Mail 会新建一封邮件。

要在这种情况下进行剪切,复制和粘贴 (仅支持 Android >= 7):

  • MOD+c 注入 COPY (复制)
  • MOD+x 注入 CUT (剪切)
  • MOD+v 注入 PASTE (粘贴) (在电脑到设备的剪贴板同步完成之后)

另外,MOD+Shift+v 会将电脑的剪贴板内容转换为一串按键事件输入到设备。在应用程序不接受粘贴时 (比如 Termux),这项功能可以派上一定的用场。不过这项功能可能会导致非 ASCII 编码的内容出现错误。

警告: 将电脑剪贴板的内容粘贴至设备 (无论是通过 Ctrl+v 还是 MOD+v) 都会将内容复制到设备的剪贴板。如此,任何安卓应用程序都能读取到。您应避免将敏感内容 (如密码) 通过这种方式粘贴。

一些设备不支持通过程序设置剪贴板。通过 --legacy-paste 选项可以修改 Ctrl+v 和 MOD+v 的工作方式,使它们通过按键事件 (同 MOD+Shift+v) 来注入电脑剪贴板内容。

双指缩放

模拟“双指缩放”:Ctrl+按住并移动鼠标

更准确的说,在按住鼠标左键时按住 Ctrl。直到松开鼠标左键,所有鼠标移动将以屏幕中心为原点,缩放或旋转内容 (如果应用支持)。

实际上,scrcpy 会在以屏幕中心对称的位置上生成由“虚拟手指”发出的额外触摸事件。

文字注入偏好

打字的时候,系统会产生两种事件:

  • 按键事件 ,代表一个按键被按下或松开。
  • 文本事件 ,代表一个字符被输入。

程序默认使用按键事件来输入字母。只有这样,键盘才会在游戏中正常运作 (例如 WASD 键)。

但这也有可能造成一些问题。如果您遇到了问题,可以通过以下方式避免:

scrcpy --prefer-text

(这会导致键盘在游戏中工作不正常)

按键重复

默认状态下,按住一个按键不放会生成多个重复按键事件。在某些游戏中这可能会导致性能问题。

避免转发重复按键事件:

scrcpy --no-key-repeat

右键和中键

默认状态下,右键会触发返回键 (或电源键),中键会触发 HOME 键。要禁用这些快捷键并把所有点击转发到设备:

scrcpy --forward-all-clicks

文件拖放

安装APK

将 APK 文件 (文件名以 .apk 结尾) 拖放到 scrcpy 窗口来安装。

该操作在屏幕上不会出现任何变化,而会在控制台输出一条日志。

将文件推送至设备

要推送文件到设备的 /sdcard/,将 (非 APK) 文件拖放至 scrcpy 窗口。

该操作没有可见的响应,只会在控制台输出日志。

在启动时可以修改目标目录:

scrcpy --push-target /sdcard/foo/bar/

音频转发

Scrcpy 不支持音频。请使用 sndcpy.

另外请阅读 issue #14。

快捷键

在以下列表中, MOD 是快捷键的修饰键。
默认是 (左) Alt 或 (左) Super。

您可以使用 --shortcut-mod 来修改。可选的按键有 lctrlrctrllaltraltlsuperrsuper。例如:

# 使用右 Ctrl 键
scrcpy --shortcut-mod=rctrl# 使用左 Ctrl 键 + 左 Alt 键,或 Super 键
scrcpy --shortcut-mod=lctrl+lalt,lsuper

Super 键通常是指 Windows 或 Cmd 键。

操作 快捷键
全屏 MOD+f
向左旋转屏幕 MOD+← (左箭头)
向右旋转屏幕 MOD+→ (右箭头)
将窗口大小重置为1:1 (匹配像素) MOD+g
将窗口大小重置为消除黑边 MOD+w | 双击¹
点按 主屏幕 MOD+h | 鼠标中键
点按 返回 MOD+b | 鼠标右键²
点按 切换应用 MOD+s
点按 菜单 (解锁屏幕) MOD+m
点按 音量+ MOD+↑ (上箭头)
点按 音量- MOD+↓ (下箭头)
点按 电源 MOD+p
打开屏幕 鼠标右键²
关闭设备屏幕 (但继续在电脑上显示) MOD+o
打开设备屏幕 MOD+Shift+o
旋转设备屏幕 MOD+r
展开通知面板 MOD+n
收起通知面板 MOD+Shift+n
复制到剪贴板³ MOD+c
剪切到剪贴板³ MOD+x
同步剪贴板并粘贴³ MOD+v
注入电脑剪贴板文本 MOD+Shift+v
打开/关闭FPS显示 (在 stdout) MOD+i
捏拉缩放 Ctrl+按住并移动鼠标

¹双击黑边可以去除黑边
²点击鼠标右键将在屏幕熄灭时点亮屏幕,其余情况则视为按下返回键 。
³需要安卓版本 Android >= 7。

所有的 Ctrl+按键 的快捷键都会被转发到设备,所以会由当前应用程序进行处理。

自定义路径

要使用指定的 adb 二进制文件,可以设置环境变量 ADB

ADB=/path/to/adb scrcpy

要覆盖 scrcpy-server 的路径,可以设置 SCRCPY_SERVER_PATH

为什么叫 scrcpy

一个同事让我找出一个和 gnirehtet 一样难以发音的名字。

strcpy 复制一个 string; scrcpy 复制一个 screen。

如何构建?

请查看BUILD。

常见问题

请查看FAQ。

开发者

请查看开发者页面。

许可协议

Copyright (C) 2018 Genymobile
Copyright (C) 2018-2021 Romain VimontLicensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

相关文章

  • Introducing scrcpy
  • Scrcpy now works wirelessly

中文教程

  1. https://www.geekersq.cc/2019/06/github-android-scrcpy/
  2. https://blog.csdn.net/was172/article/details/99705855

投屏软件scrcpy官方帮助(V1.17)相关推荐

  1. 安装与使用安卓投屏软件 scrcpy

    scrcpy 特征.系统要求以及使用要求 scrcpy 可 GNU / Linux.Windows 和 macOS 的计算机上显示和控制,通过 USB(或通过 TCP/IP)连接的 Android 设 ...

  2. linux 投屏软件,Scrcpy - Android投屏软件

    Scrcpy是一款开源的Android投屏软件,适用于大部分安卓设备.此应用程序可显示和控制通过USB(或通过TCP / IP)连接的Android设备.它不需要任何根访问权限.它可以在GNU/Lin ...

  3. 在manjaro下安装安卓投屏软件scrcpy详细过程

    scrcpy非常实用,它可以将安卓手机投屏到电脑屏幕上,也可以在电脑上操作手机. 安装scrcpy: yay -S scrcpy 安装好以后并不能马上使用,因为它需要adb支持,首先得确保通过adb让 ...

  4. 在Ubuntu中安装Android投屏软件scrcpy

    文章目录 前言 1.安装 2.使用 3.scrcpy 常见使用 前言 在前面有介绍在win10中如何使用scrcpy进行Android投屏,之所以这样操作,是因为当我们手头开发板没有屏幕的时候,就可以 ...

  5. 毫秒级的开源投屏软件scrcpy,手机无需安装任何软件

    安装包已上传↑↑就是 也可以自行github下载scrcpy 1.下载 进入githut,搜索scrcpy,选择Genymobile/scrcpy,看到已经有86.7的stats了,点击右侧的scrc ...

  6. Android - 投屏工具 scrcpy

    引用 https://github.com/Genymobile/scrcpy 前言 在 App 开发过程当中,低头操作手机会很别扭,为了降低低头频率,有两种方法可以解决该问题: 在某宝上买一个手机支 ...

  7. pc投屏android软件,Scrcpy安卓电脑投屏软件下载

    Scrcpy安卓投屏软件是一款非常棒的安卓电脑投屏软件工具.这款软件可以为用户提供有线.无线两种投屏方式,用户可以方便地利用 Scrcpy 来测试 APP 应用.玩游戏.高效完成一些需要在手机上进行的 ...

  8. 安卓投屏软件推荐:Scrcpy和AnLink

    给大家安利两款比较好用的Android投屏软件 在使用之前请将手机进入开发者模式: Step1:进入手机设置中的[关于手机]→连续点击7次版本号 Step2:在手机设置系统与更新中点击[开发人员选项] ...

  9. android电视传屏软件下载,希沃传屏app下载 希沃传屏(投屏软件) for Android V1.1.4.2813 安卓手机版 下载-脚本之家...

    希沃传屏手机版是一款免费的手机投屏软件,利用希沃传屏手机版可以将手机上的画面投屏到PC端,操作简单,使用方便.需要的朋友可以前来本站下载. 软件介绍 希沃传屏APP是兼容多种系统的无线多屏互动软件,可 ...

最新文章

  1. 吉大20春学期C语言程序设计作业二,吉大18春学期《C语言程序设计》在线作业二【答案】...
  2. 广州.NET 俱乐部第三次聚会成功举办。
  3. 将bgr彩色矩阵归一化到0-255之间 【RGB image normalization】
  4. 数据结构与算法--二叉树的深度问题
  5. 魔众Markdown管理系统v2.1.0源码
  6. Spring Cloud云架构 - commonservice-sso服务搭建(一)
  7. canvas 从入门到入坟
  8. AD笔记4-元件封装库绘制
  9. 【Windows】添加开机启动项
  10. python做词云统计_python词频统计,生成词云
  11. Java微信支付APIV3密钥生成全过程
  12. android倒计时代码
  13. 常用的JScript代码整理
  14. div四角边框直角、倒角、 圆角、倒圆角
  15. 苹果订阅的升级、降级、同级转换
  16. 保存阿里云的邮件模板提示错误Template Text is too large.
  17. 搭建WordPress个人博客全过程(超详细)
  18. Proxifier+Fiddler 抓取PC客户端数据包
  19. Delphi如何使用最新版本的OpenSSL
  20. 日期 日历 时区 地区【API】

热门文章

  1. weixin java tools_微信工具weixin-java-tools的使用总结
  2. FOF常用的七种投资策略全解析
  3. 基于PTB-XL数据集的深度学习心电信号分类
  4. 教师考编如何选学段?
  5. 连分式插值函数-Cpp
  6. Window批量修改文件名
  7. Hi,运维,你懂Java吗--No.5:JVM--方法区元空间
  8. Jigglypuff
  9. 计算机无法连接到远程计算机上的另一个控制台会话,原因是您正在运行一个控制台会话
  10. Centos7做软RAID5详细步骤