【翻译】scrcpy(3.3.3)命令使用文档

scrcpy 3.3.3 github.com/Genymobile/... 用法:scrcpy.exe 选项

声明:以下是在 Windows 电脑上的scrcpy --help 输出翻译,不确保其他平台是否一样

选项:

lua 复制代码
--always-on-top
    使 scrcpy 窗口始终置顶(位于其他窗口之上)。

--angle=角度
    将视频内容旋转指定的自定义角度(以度为单位,顺时针)。

--audio-bit-rate=数值
    以指定的比特率编码音频,单位为比特/秒。支持单位后缀:'K' (千位/秒 x1000) 和 'M' (百万位/秒 x1000000)。
    默认值为 128K (128000)。

--audio-buffer=毫秒
    配置音频缓冲延迟(毫秒)。
    较低的值可降低延迟,但会增加缓冲区欠载(导致音频故障)的可能性。
    默认值为 50。

--audio-codec=名称
    选择音频编码器 (opus, aac, flac 或 raw)。
    默认值为 opus。

--audio-codec-options=键[:类型]=值[, ...]
    为设备音频编码器设置以逗号分隔的 `键:类型=值` 选项列表。
    '类型' 的可能值为 'int' (默认), 'long', 'float' 和 'string'。
    可能的编解码器选项列表可在 Android 文档中找到:
    <https://d.android.com/reference/android/media/MediaFormat>

--audio-dup
    复制音频(捕获并在设备上继续播放)。
    此功能仅在配合 `--audio-source=playback` 时可用。

--audio-encoder=名称
    使用特定的 MediaCodec 音频编码器(取决于 `--audio-codec` 提供的编解码器)。
    可用的编码器可通过 `--list-encoders` 列出。

--audio-source=来源
    选择音频源。可能的值有:
     - `"output"`: 转发整个音频输出,并禁用设备上的播放。
     - `"playback"`: 捕获音频播放(Android 应用可选择退出,因此不一定能捕获全部输出)。
     - `"mic"`: 捕获麦克风。
     - `"mic-unprocessed"`: 捕获未经处理(原始)的麦克风声音。
     - `"mic-camcorder"`: 捕获为视频录制调整的麦克风(如果可用,则与摄像头方向一致)。
     - `"mic-voice-recognition"`: 捕获为语音识别调整的麦克风。
     - `"mic-voice-communication"`: 捕获为语音通信调整的麦克风(例如,如果可用,将利用回声消除或自动增益控制)。
     - `"voice-call"`: 捕获语音通话。
     - `"voice-call-uplink"`: 仅捕获语音通话上行链路。
     - `"voice-call-downlink"`: 仅捕获语音通话下行链路。
     - `"voice-performance"`: 捕获用于现场表演(如卡拉OK)处理的音频,包括麦克风和设备播放。
    默认值为 `output`。

--audio-output-buffer=毫秒
    配置 SDL 音频输出缓冲区的大小(毫秒)。
    如果您听到"机器人声"般的音频播放,应尝试更高的值(例如 10)。否则请勿更改此设置。
    默认值为 5。

-b, --video-bit-rate=数值
    以指定的比特率编码视频,单位为比特/秒。支持单位后缀:'K' (千位/秒 x1000) 和 'M' (百万位/秒 x1000000)。
    默认值为 8M (8000000)。

--camera-ar=宽高比
    根据宽高比(+/- 10%)选择相机尺寸。
    可能的值有 `"sensor"` (使用相机传感器的宽高比)、`"<数字>:<分母>"` (例如 `"4:3"`) 或 `"<数值>"` (例如 `"1.6"`)。

--camera-facing=朝向
    根据朝向选择设备摄像头。
    可能的值有 `"front"`, `"back"` 和 `"external"`。

--camera-fps=数值
    指定相机捕获帧率。
    如果未指定,则使用 Android 的默认帧率 (30 fps)。

--camera-high-speed
    启用高速相机捕获模式。
    此模式仅限于特定的分辨率和帧率,可通过 `--list-camera-sizes` 列出。

--camera-id=标识
    指定要镜像的设备摄像头 ID。
    可用的摄像头 ID 可通过以下命令列出:
        scrcpy --list-cameras

--camera-size=<宽度>x<高度>
    指定明确的相机捕获尺寸。

--capture-orientation=数值
    设置捕获视频的方向。
    可能的值为 0, 90, 180, 270, flip0, flip90, flip180 和 flip270,前面可以加 '@' 前缀。
    数字表示顺时针旋转的度数;`"flip"` 关键字表示在旋转前应用水平翻转。
    如果为显示捕获传递了前导 '@'(如 `@90`),则旋转将被锁定,且相对于设备的自然方向。
    如果单独传递 `@`,则旋转将锁定到设备的初始方向。
    默认值为 0。

--crop=宽度:高度:x:y
    在服务器上裁剪设备屏幕。
    数值以设备的自然方向表示(通常,手机为纵向,平板为横向)。

-d, --select-usb
    使用 USB 设备(如果恰好有一个,类似于 `adb -d`)。
    另请参阅 -e (`--select-tcpip`)。

--disable-screensaver
    在 scrcpy 运行时禁用屏幕保护程序。

--display-id=标识
    指定要镜像的设备显示 ID。
    可用的显示 ID 可通过以下命令列出:
        scrcpy --list-displays
    默认值为 0。

--display-ime-policy=策略
    设置选择 IME 应在何处显示的策略。
    可能的值有 `"local"`, `"fallback"` 和 `"hide"`。
    `"local"` 表示 IME 应显示在本地屏幕上。
    `"fallback"` 表示 IME 应显示在备用(默认)屏幕上。
    `"hide"` 表示 IME 应隐藏。

--display-orientation=数值
    设置初始显示方向。
    可能的值为 0, 90, 180, 270, flip0, flip90, flip180 和 flip270。
    数字表示顺时针旋转的度数;`"flip"` 关键字表示在旋转前应用水平翻转。
    默认值为 0。

-e, --select-tcpip
    使用 TCP/IP 设备(如果恰好有一个,类似于 `adb -e`)。
    另请参阅 -d (`--select-usb`)。

-f, --fullscreen
    以全屏模式启动。

--force-adb-forward
    不尝试使用 `adb reverse` 连接到设备。

-G
    等同于 `--gamepad=uhid`,如果设置了 `--otg` 则等同于 `--gamepad=aoa`。

--gamepad=模式
    选择如何向设备发送游戏手柄输入。
    可能的值有 `"disabled"`, `"uhid"` 和 `"aoa"`。
    `"disabled"` 不向设备发送游戏手柄输入。
    `"uhid"` 使用设备上的 Linux UHID 内核模块模拟物理 HID 游戏手柄。
    `"aoa"` 使用 AOAv2 协议模拟物理游戏手柄。它可能仅通过 USB 工作。
    另请参阅 `--keyboard` 和 `--mouse`。

-h, --help
    打印此帮助信息。

-K
    等同于 `--keyboard=uhid`,如果设置了 `--otg` 则等同于 `--keyboard=aoa`。

--keyboard=模式
    选择如何向设备发送键盘输入。
    可能的值有 `"disabled"`, `"sdk"`, `"uhid"` 和 `"aoa"`。
    `"disabled"` 不向设备发送键盘输入。
    `"sdk"` 使用 Android 系统 API 将键盘事件传递给应用程序。
    `"uhid"` 使用设备上的 Linux UHID 内核模块模拟物理 HID 键盘。
    `"aoa"` 使用 AOAv2 协议模拟物理键盘。它可能仅通过 USB 工作。
    对于 `"uhid"` 和 `"aoa"` 模式,必须通过 `设置 -> 系统 -> 语言和输入 -> 物理键盘` 在设备上配置(一劳永逸地)键盘布局。可以通过快捷键 MOD+k (OTG 模式除外) 或执行 `adb shell am start -a android.settings.HARD_KEYBOARD_SETTINGS` 直接启动此设置页面。
    此选项仅在启用 HID 键盘(或连接了物理键盘)时可用。
    另请参阅 `--mouse` 和 `--gamepad`。

--kill-adb-on-close
    当 scrcpy 终止时结束 adb 进程。

--legacy-paste
    在按 Ctrl+v 时,将计算机剪贴板文本作为一系列按键事件注入(类似 MOD+Shift+v)。
    这是针对某些设备在编程方式设置设备剪贴板时行为不符合预期的解决方法。

--list-apps
    列出设备上安装的 Android 应用。

--list-cameras
    列出设备摄像头。

--list-camera-sizes
    列出有效的相机捕获尺寸。

--list-displays
    列出设备屏幕。

--list-encoders
    列出设备上可用的视频和音频编码器。

-m, --max-size=数值
    将视频的宽度和高度都限制为指定值。另一维度会按比例计算以保持设备宽高比。
    默认值为 0 (无限制)。

-M
    等同于 `--mouse=uhid`,如果设置了 `--otg` 则等同于 `--mouse=aoa`。

--max-fps=数值
    限制屏幕捕获的帧率(从 Android 10 开始官方支持,但早期版本可能也可用)。

--mouse=模式
    选择如何向设备发送鼠标输入。
    可能的值有 `"disabled"`, `"sdk"`, `"uhid"` 和 `"aoa"`。
    `"disabled"` 不向设备发送鼠标输入。
    `"sdk"` 使用 Android 系统 API 将鼠标事件传递给应用程序。
    `"uhid"` 使用设备上的 Linux UHID 内核模块模拟物理 HID 鼠标。
    `"aoa"` 使用 AOAv2 协议模拟物理鼠标。它可能仅通过 USB 工作。
    在 `"uhid"` 和 `"aoa"` 模式下,计算机鼠标会被捕获以直接控制设备(相对鼠标模式)。
    左 Alt、左 Super 或右 Super 键可切换捕获模式,将鼠标控制权交还给计算机。
    另请参阅 `--keyboard` 和 `--gamepad`。

--mouse-bind=xxxx[:xxxx]
    配置辅助点击的绑定。
    参数必须是一个或两个由冒号分隔的序列,每个序列恰好 4 个字符,分别对应每个辅助点击(顺序为:右键、中键、第四键、第五键)。
    第一个序列定义主绑定,用于鼠标按钮单独按下时。第二个序列定义辅助绑定,用于按住 Shift 键的同时按下鼠标按钮时。
    如果省略第二个绑定序列,则与第一个序列相同。
    每个字符必须是以下之一:
     `+`: 将点击转发到设备
     `-`: 忽略点击
     `b`: 触发快捷键 BACK (或如果屏幕关闭则点亮屏幕)
     `h`: 触发快捷键 HOME
     `s`: 触发快捷键 APP_SWITCH
     `n`: 触发快捷键 `展开通知面板`
    对于 SDK 鼠标,默认为 `'bhsn:++++'`;对于 AOA 和 UHID 鼠标,默认为 `'++++:bhsn'`。

-n, --no-control
    禁用设备控制(以只读方式镜像设备)。

-N, --no-playback
    在计算机上禁用视频和音频播放(等同于 `--no-video-playback --no-audio-playback`)。

--new-display[=[<宽度>x<高度>][/<每英寸点数>]]
    创建一个具有指定分辨率和像素密度(DPI)的新屏幕。如果未提供,则默认使用主屏幕尺寸和 DPI。
    示例:
        --new-display=1920x1080
        --new-display=1920x1080/420  # 强制 420 DPI
        --new-display                # 主屏幕尺寸和 DPI
        --new-display=/240           # 主屏幕尺寸和 240 DPI

--no-audio
    禁用音频转发。

--no-audio-playback
    在计算机上禁用音频播放。

--no-cleanup
    默认情况下,scrcpy 在退出时会从设备移除服务器二进制文件并恢复设备状态(显示触摸、保持唤醒和电源模式)。
    此选项禁用此清理操作。

--no-clipboard-autosync
    默认情况下,scrcpy 会在注入 Ctrl+v 之前自动将计算机剪贴板同步到设备剪贴板,并在设备剪贴板发生变化时自动将其同步到计算机剪贴板。
    此选项禁用此自动同步。

--no-downsize-on-error
    默认情况下,在 MediaCodec 出错时,scrcpy 会自动尝试以较低的分辨率重新编码。
    此选项禁用此行为。

--no-key-repeat
    当按键被按住时,不转发重复的按键事件。

--no-mipmaps
    如果渲染器是 OpenGL 3.0+ 或 OpenGL ES 2.0+,则会自动生成 Mipmaps 以提高缩小比例时的质量。此选项禁用 Mipmaps 的生成。

--no-mouse-hover
    不转发鼠标悬停(没有任何点击的鼠标移动)事件。

--no-power-on
    启动时不唤醒设备。

--no-vd-destroy-content
    禁用虚拟屏幕的"移除时销毁内容"标志。
    启用此选项后,关闭虚拟屏幕时,正在运行的应用会移到主屏幕而不是被销毁。

--no-vd-system-decorations
    禁用虚拟屏幕的系统装饰标志。

--no-video
    禁用视频转发。

--no-video-playback
    在计算机上禁用视频播放。

--no-window
    禁用 scrcpy 窗口。隐含 `--no-video-playback`。

--orientation=数值
    等同于 `--display-orientation=数值 --record-orientation=数值`。

--otg
    以 OTG 模式运行:模拟物理键盘和鼠标,就像计算机键盘和鼠标通过 OTG 线缆直接插入设备一样。
    在此模式下,不需要 adb (USB 调试),并且镜像被禁用。
    左 Alt、左 Super 或右 Super 键可切换鼠标捕获模式,将鼠标控制权交还给计算机。
    键盘和鼠标可以分别使用 `--keyboard=disabled` 和 `--mouse=disabled` 禁用。
    它可能仅通过 USB 工作。
    参见 `--keyboard`, `--mouse` 和 `--gamepad`。

-p, --port=端口[:端口]
    设置客户端监听的 TCP 端口(范围)。
    默认值为 27183:27199。

--pause-on-exit[=模式]
    配置退出时暂停。可能的值有 `"true"` (总是在退出时暂停)、`"false"` (从不在退出时暂停) 和 `"if-error"` (仅在出错时暂停)。
    这有助于防止终端窗口自动关闭,以便阅读错误信息。
    默认值为 `"false"`。
    不带参数传递此选项等同于传递 `"true"`。

--power-off-on-close
    关闭 scrcpy 时关闭设备屏幕。

--prefer-text
    将字母字符和空格作为文本事件而非按键事件注入。
    这避免了输入特殊字符时组合多个键可能产生的问题,但会破坏游戏中字母键(通常是 WASD)的预期行为。

--print-fps
    启动 FPS 计数器,在控制台打印帧率日志。可以随时通过 MOD+i 启动或停止。

--push-target=路径
    设置通过拖放将文件推送到设备时的目标目录。
    此路径会原样传递给 `adb push`。
    默认值为 `"/sdcard/Download/"`。

-r, --record=文件名.mp4
    将屏幕录制到文件。
    格式由 `--record-format` 选项(如果设置)或文件扩展名决定。

--raw-key-events
    为所有输入键注入按键事件,并忽略文本事件。

--record-format=格式
    强制录制格式 (mp4, mkv, m4a, mka, opus, aac, flac 或 wav)。

--record-orientation=数值
    设置录制方向。
    可能的值为 0, 90, 180 和 270。数字表示顺时针旋转的度数。
    默认值为 0。

--render-driver=名称
    请求 SDL 使用给定的渲染驱动(这只是一个提示)。
    目前支持的名称有 `"direct3d"`, `"opengl"`, `"opengles2"`, `"opengles"`, `"metal"` 和 `"software"`。
    <https://wiki.libsdl.org/SDL_HINT_RENDER_DRIVER>

--require-audio
    默认情况下,当设备上的音频捕获失败时,scrcpy 仅镜像视频。此选项使得在启用音频但音频无法工作时,scrcpy 直接失败。

-s, --serial=序列号
    设备序列号。仅在多个设备连接到 adb 时必须指定。

-S, --turn-screen-off
    立即关闭设备屏幕。

--screen-off-timeout=秒数
    设置在 scrcpy 运行期间的屏幕关闭超时时间(退出时恢复初始值)。

--shortcut-mod=按键[+...][,...]
    指定用于 scrcpy 快捷键的修饰键。
    可能的按键是 `"lctrl"`, `"rctrl"`, `"lalt"`, `"ralt"`, `"lsuper"` 和 `"rsuper"`。
    可以指定多个快捷键修饰键,用逗号分隔。
    例如,要使用左 Ctrl 或左 Super 作为 scrcpy 快捷键,传递 `"lctrl,lsuper"`。
    默认值为 `"lalt,lsuper"` (左 Alt 或左 Super)。

--start-app=名称
    启动一个 Android 应用,通过其精确的包名。
    添加前缀 `'?'` 以选择名称以给定名称(不区分大小写)开头的应用(在设备上检索应用名称可能需要一些时间):
        scrcpy --start-app=?firefox
    添加前缀 `'+'` 以在启动应用前强制停止它:
        scrcpy --new-display --start-app=+org.mozilla.firefox
    两个前缀可以一起使用,按此顺序:
        scrcpy --start-app=+?firefox

-t, --show-touches
    在启动时启用"显示触摸",退出时恢复初始值。
    它只显示物理触摸(不包括来自 scrcpy 的点击)。

--tcpip[=[+]IP地址[:端口]]
    通过 TCP/IP 配置并连接到设备。
    如果提供了目标地址,则 scrcpy 在启动前连接到该地址。设备必须在给定的 TCP 端口(默认 5555)上监听。
    如果未提供目标地址,则 scrcpy 尝试查找当前设备(通常通过 USB 连接)的 IP 地址,启用 TCP/IP 模式,然后在启动前连接到该地址。
    在地址前加 `'+'` 前缀以强制重新连接。

--time-limit=秒数
    设置最大镜像时间(秒)。

--tunnel-host=IP地址
    设置用于访问 scrcpy 服务器的 adb 隧道 IP 地址。此选项自动启用 `--force-adb-forward`。
    默认值为 `localhost`。

--tunnel-port=端口
    设置用于访问 scrcpy 服务器的 adb 隧道 TCP 端口。此选项自动启用 `--force-adb-forward`。
    默认值为 `0` (不强制):将使用用于建立隧道的本地端口。

-v, --version
    打印 scrcpy 的版本。

-V, --verbosity=级别
    设置日志级别 (verbose, debug, info, warn 或 error)。
    默认值为 `info`。

--v4l2-sink=/dev/videoN
    输出到 v4l2loopback 设备。
    此功能仅在 Linux 上可用。

--v4l2-buffer=毫秒
    在推送帧之前添加缓冲延迟(毫秒)。这会增加延迟以补偿抖动。
    此选项类似于 `--video-buffer`,但专用于 V4L2 输出。
    默认值为 0 (无缓冲)。
    此选项仅在 Linux 上可用。

--video-buffer=毫秒
    在显示视频帧之前添加缓冲延迟(毫秒)。这会增加延迟以补偿抖动。
    默认值为 0 (无缓冲)。

--video-codec=名称
    选择视频编码器 (h264, h265 或 av1)。
    默认值为 h264。

--video-codec-options=键[:类型]=值[, ...]
    为设备视频编码器设置以逗号分隔的 `键:类型=值` 选项列表。
    '类型' 的可能值为 'int' (默认), 'long', 'float' 和 'string'。
    可能的编解码器选项列表可在 Android 文档中找到:
    <https://d.android.com/reference/android/media/MediaFormat>

--video-encoder=名称
    使用特定的 MediaCodec 视频编码器(取决于 `--video-codec` 提供的编解码器)。
    可用的编码器可通过 `--list-encoders` 列出。

--video-source=来源
    选择视频来源 (display 或 camera)。
    相机镜像需要 Android 12+。
    默认值为 `display`。

-w, --stay-awake
    当设备接通电源时,在 scrcpy 运行期间保持设备唤醒。

--window-borderless
    禁用窗口装饰(显示无边框窗口)。

--window-title=文本
    设置自定义窗口标题。

--window-x=数值
    设置窗口初始水平位置。
    默认值为 `"auto"`。

--window-y=数值
    设置窗口初始垂直位置。
    默认值为 `"auto"`。

--window-width=数值
    设置窗口初始宽度。
    默认值为 0 (自动)。

--window-height=数值
    设置窗口初始高度。
    默认值为 0 (自动)。

快捷键:

markdown 复制代码
在以下列表中,MOD 是快捷键修饰键。默认是(左)Alt 或(左)Super,但可以通过 `--shortcut-mod` 配置(见上文)。

MOD+f
    切换全屏模式

MOD+左方向键
    向左旋转屏幕

MOD+右方向键
    向右旋转屏幕

MOD+Shift+左方向键
MOD+Shift+右方向键
    水平翻转屏幕

MOD+Shift+上方向键
MOD+Shift+下方向键
    垂直翻转屏幕

MOD+z
    暂停或恢复显示

MOD+Shift+z
    取消暂停显示

MOD+Shift+r
    重置视频捕获/编码

MOD+g
    将窗口大小调整为 1:1 (像素完美)

MOD+w
双击黑边
    调整窗口大小以移除黑边

MOD+h
中键点击
    点击 HOME

MOD+b
MOD+退格键
右键点击 (当屏幕亮时)
    点击 BACK

MOD+s
第四键点击
    点击 APP_SWITCH

MOD+m
    点击 MENU

MOD+上方向键
    点击 VOLUME_UP

MOD+下方向键
    点击 VOLUME_DOWN

MOD+p
    点击 POWER (打开/关闭屏幕)

右键点击 (当屏幕灭时)
    点亮屏幕

MOD+o
    关闭设备屏幕 (继续镜像)

MOD+Shift+o
    打开设备屏幕

MOD+r
    旋转设备屏幕

MOD+n
第五键点击
    展开通知面板

MOD+Shift+n
    收起通知面板

MOD+c
    复制到剪贴板 (注入 COPY 键码,仅限 Android >= 7)

MOD+x
    剪切到剪贴板 (注入 CUT 键码,仅限 Android >= 7)

MOD+v
    将计算机剪贴板内容复制到设备,然后粘贴 (注入 PASTE 键码,仅限 Android >= 7)

MOD+Shift+v
    将计算机剪贴板文本作为一系列按键事件注入

MOD+k
    在设备上打开键盘设置 (仅适用于 HID 键盘)

MOD+i
    启用/禁用 FPS 计数器 (在日志中打印每秒帧数)

Ctrl+点击并拖动
    从屏幕中心进行捏合缩放和旋转

Shift+点击并拖动
    垂直倾斜 (用双指滑动)

Ctrl+Shift+点击并拖动
    水平倾斜 (用双指滑动)

拖放 APK 文件
    从计算机安装 APK

拖放非 APK 文件
    推送文件到设备 (参见 `--push-target`)

环境变量:

go 复制代码
ADB
    adb 可执行文件的路径

ANDROID_SERIAL
    如果未指定选择器 (`-s`, `-d`, `-e` 或 `--tcpip=<地址>`) 时要使用的设备序列号

SCRCPY_ICON_PATH
    程序图标路径

SCRCPY_SERVER_PATH
    服务器二进制文件路径

退出状态:

复制代码
  0  程序正常终止
  1  启动失败
  2  运行过程中设备断开连接
相关推荐
千里马学框架2 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台2 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone2 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc2 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo2 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077002 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼2 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
AFinalStone2 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen2 天前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone2 天前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui