OBS与虚拟摄像头
参考:
https://wiki.archlinux.org.cn/title/V4l2loopback
介绍
虚拟摄像头是一种软件模拟的视频输入设备。它本身并不采集物理图像,而是接收来自其他程序或文件、屏幕等的视频流,并将其伪装成一个标准的摄像头设备,供其他应用程序(如视频会议软件、浏览器、录屏软件等)识别和使用。
主要用途
- 视频会议/直播:把预先录制的视频、屏幕共享内容或经过处理的画面作为摄像头画面发送给对方。
- 隐私保护:在某些必须开启摄像头的场景下,用虚拟摄像头提供替代画面,避免暴露真实环境。
- 软件测试:模拟摄像头输入,测试视频相关应用的兼容性和功能。
- 特效处理:将 OBS、滤镜软件等处理后的画面输出为摄像头,实现美颜、虚拟背景等效果。
v4l2loopback
在 Linux 中,可以使用 v4l2loopback 创建虚拟摄像头。v4l2loopback 是一个内核模块,它能够创建若干个虚拟的 V4L2 视频设备(如 /dev/video0、/dev/video10 等)。这些设备看起来就像真实的摄像头,但实际上它们接收的是用户空间程序(如 ffmpeg、OBS)写入的视频数据。
有了 v4l2loopback,你就可以把任意视频流“喂”给这些虚拟设备,然后任何支持摄像头的应用都能直接使用它。
因此,一个典型的视频处理流程可以表示为:
1 | 摄像头 / 桌面 / 视频文件 |
在 ArchLinux 创建虚拟摄像头
- 安装 obs:
1 | pacman -S obs-studio |
- 安装 v4l2loopback-dkms 软件包 以及 目标内核的头文件(如 linux-headers)
1 | pacman -S linux-headers |
- 内核热加载模块
1 | sudo modprobe v4l2loopback |
- 检查
1 | dkms status |
确保包含类似以下输出,多内核用户确保正在使用的内核是否安装成功:
1 | v4l2loopback/0.15.4, 6.18.44-1-lts, x86_64: installed |
- OBS 设置

最后点击启动虚拟摄像头。
- 验证是否可用
打开经典设备测试网站:gUM Test Page
选择 Camera 测试
选择授予虚拟摄像头权限
可以看见已经正常捕获桌面屏幕
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ECAMT35 的地下室!