跳转到内容

Scrcpy 摄像头

摄像头镜像支持 Android 12 及以上设备。

改为捕获摄像头而非设备屏幕:

scrcpy --video-source=camera

默认情况下会自动将音源切换为麦克风(相当于同时传入 --audio-source=mic)。

Terminal window
scrcpy --video-source=display # default is --audio-source=output
scrcpy --video-source=camera # default is --audio-source=mic
scrcpy --video-source=display --audio-source=mic # force display AND microphone
scrcpy --video-source=camera --audio-source=output # force camera AND device audio output

可以禁用音频:

Terminal window
# audio not captured at all
scrcpy --video-source=camera --no-audio
scrcpy --video-source=camera --no-audio --record=file.mp4
# audio captured and recorded, but not played
scrcpy --video-source=camera --no-audio-playback --record=file.mp4

列出可用摄像头(以及其声明的有效分辨率与帧率):

scrcpy --list-cameras
scrcpy --list-camera-sizes

注意:这些分辨率与帧率是声明性的,并非适用于所有设备:部分值虽已声明但不受支持,也有部分未声明但实际支持。

可以传递明确的摄像头 id(由 --list-cameras 列出):

scrcpy --video-source=camera --camera-id=0

也可以自动选择摄像头:

Terminal window
scrcpy --video-source=camera # use the first camera
scrcpy --video-source=camera --camera-facing=front # use the first front camera
scrcpy --video-source=camera --camera-facing=back # use the first back camera
scrcpy --video-source=camera --camera-facing=external # use the first external camera

若指定了 --camera-id,则禁止同时设置 --camera-facing(id 已明确了摄像头):

Terminal window
scrcpy --video-source=camera --camera-id=0 --camera-facing=front # error

可以传递明确的摄像头分辨率:

scrcpy --video-source=camera --camera-size=1920x1080

该分辨率可能出现在声明的有效尺寸列表(--list-camera-sizes)中,但也可能为任意值(部分设备支持任意尺寸):

scrcpy --video-source=camera --camera-size=1840x444

也可以在 list-camera-sizes 列出的有效尺寸中自动选择。

支持两个约束:

  • -m/--max-size(显示镜像中也使用),例如 -m1920
  • --camera-ar 指定宽高比(<num>:<den><value>sensor)。

示例:

Terminal window
scrcpy --video-source=camera # use the greatest width and the greatest associated height
scrcpy --video-source=camera -m1920 # use the greatest width not above 1920 and the greatest associated height
scrcpy --video-source=camera --camera-ar=4:3 # use the greatest size with an aspect ratio of 4:3 (+/- 10%)
scrcpy --video-source=camera --camera-ar=1.6 # use the greatest size with an aspect ratio of 1.6 (+/- 10%)
scrcpy --video-source=camera --camera-ar=sensor # use the greatest size with the aspect ratio of the camera sensor (+/- 10%)
scrcpy --video-source=camera -m1920 --camera-ar=16:9 # use the greatest width not above 1920 and the closest to 16:9 aspect ratio

若已指定 --camera-size,则禁止同时使用 -m/--max-size--camera-ar(分辨率由显式值确定):

Terminal window
scrcpy --video-source=camera --camera-size=1920x1080 -m3000 # error

要旋转捕获的视频,请使用视频方向选项:

scrcpy --video-source=camera --camera-size=1920x1080 --orientation=90

默认情况下,摄像头以 Android 的默认帧率(30 fps)捕获。

设置不同的帧率:

scrcpy --video-source=camera --camera-fps=60

Android 摄像头 API 还支持高速捕获模式

该模式仅支持特定分辨率与帧率,可通过 --list-camera-sizes 查看。

scrcpy --video-source=camera --camera-size=1920x1080 --camera-fps=240

全部摄像头选项都以 --camera- 开头,如果你的 Shell 支持,可利用[大括号扩展](例如 bashzsh 支持):

Terminal window
scrcpy --video-source=camera --camera-{facing=back,ar=16:9,high-speed,fps=120}

上述命令会展开为:

Terminal window
scrcpy --video-source=camera --camera-facing=back --camera-ar=16:9 --camera-high-speed --camera-fps=120

结合 Linux 上的 V4L2 特性,可在电脑上把 Android 设备摄像头当作网络摄像头使用。