摄像头

支持在Android 12或更高版本的设备上启用摄像头镜像。

要捕获摄像头而不是设备屏幕,请使用以下命令:

scrcpy --video-source=camera

默认情况下,它会自动切换音频源到麦克风(就像也传递了--audio-source=mic一样)。

scrcpy --video-source=display  # 默认是 --audio-source=output
scrcpy --video-source=camera   # 默认是 --audio-source=mic
scrcpy --video-source=display --audio-source=mic    # 强制显示和麦克风
scrcpy --video-source=camera --audio-source=output  # 强制摄像头和设备音频输出

可以禁用音频:

# 完全不捕获音频
scrcpy --video-source=camera --no-audio
scrcpy --video-source=camera --no-audio --record=file.mp4

# 捕获并录制音频,但不播放
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

或者,摄像头可能会自动选择:

scrcpy --video-source=camera                           # 使用第一个摄像头
scrcpy --video-source=camera --camera-facing=front     # 使用第一个前置摄像头
scrcpy --video-source=camera --camera-facing=back      # 使用第一个后置摄像头
scrcpy --video-source=camera --camera-facing=external  # 使用第一个外置摄像头

如果指定了--camera-id,则禁止使用--camera-facing(id已经决定了摄像头):

scrcpy --video-source=camera --camera-id=0 --camera-facing=front  # 错误

尺寸选择

可以传递一个明确的摄像头尺寸:

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)。

一些例子:

scrcpy --video-source=camera                          # 使用最大宽度和最大相关高度
scrcpy --video-source=camera -m1920                   # 使用最大宽度不超过1920且最大相关高度
scrcpy --video-source=camera --camera-ar=4:3          # 使用具有4:3纵横比的最大尺寸(+/- 10%)
scrcpy --video-source=camera --camera-ar=1.6          # 使用具有1.6纵横比的最大尺寸(+/- 10%)
scrcpy --video-source=camera --camera-ar=sensor       # 使用具有相机传感器纵横比的最大尺寸(+/- 10%)
scrcpy --video-source=camera -m1920 --camera-ar=16:9  # 使用最大宽度不超过1920且最接近16:9纵横比的最大尺寸

如果指定了--camera-size,则禁止使用-m/--max-size--camera-ar(由明确给出的值确定尺寸):

scrcpy --video-source=camera --camera-size=1920x1080 -m3000  # 错误

旋转

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

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支持它,你们可以从括号展开中受益(例如,它在_bash_和_zsh_中得到支持):

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

这将展开为:

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

网络摄像头

结合Linux上的V4L2功能,可以将Android设备的摄像头用作计算机的网络摄像头。