Scrcpy Video4Linux
Scrcpy Video4Linux 视频输出到 v4l2loopback 作为虚拟摄像头
Section titled “Scrcpy Video4Linux 视频输出到 v4l2loopback 作为虚拟摄像头”在 Linux 上,可以将视频流发送到一个 v4l2 回环设备,这样任意支持 v4l2 的工具都能像打开摄像头一样打开 Android 设备。
需要安装 v4l2loopback 模块:
sudo apt install v4l2loopback-dkms创建一个 v4l2 设备:
sudo modprobe v4l2loopback这会在 /dev/videoN 创建一个新的视频设备,其中 N 为整数(可通过更多选项创建多个设备或指定设备 ID)。
如果在 Chrome/WebRTC 中检测设备遇到问题,可以尝试 exclusive_caps 模式:
sudo modprobe v4l2loopback exclusive_caps=1列出已启用的设备:
# 需要 v4l-utils 软件包v4l2-ctl --list-devices
# 更简单但可能足够ls /dev/video*使用 v4l2 sink 启动 scrcpy:
scrcpy --v4l2-sink=/dev/videoNscrcpy --v4l2-sink=/dev/videoN --no-video-playback # disable playback window(将 N 替换为设备 ID,可用 ls /dev/video* 查看)
启用后,可以用支持 v4l2 的工具打开你的视频流:
ffplay -i /dev/videoNvlc v4l2:///dev/videoN # VLC might add some buffering delay例如,你可以在 OBS 或你的视频会议工具中采集该视频。
默认情况下,不进行视频缓冲,以获得尽可能低的延迟。
类似于视频显示,也可以为 v4l2 流添加缓冲以进行延迟:
scrcpy --v4l2-buffer=300 # add 300ms buffering for v4l2 sink