OBS虚拟摄像头支持最多4个独立实例,可通过命令行加/n /i:"X"参数注册或运行reg_2cams.reg等预置脚本启用;配合虚拟滤镜输出可让不同应用调用指定视频源,结合use_raw_frames=true和preferred_format设置可降低延迟并解决兼容性问题。
你想在Zoom里用OBS做的绿幕抠像+画中画+动态字幕,但点开摄像头列表只看到“OBS Virtual Camera”一个选项,没法区分不同场景或源——这说明你还没激活OBS虚拟摄像头的进阶能力:多实例、源级输出、滤镜链控制和低延迟调优。
默认安装只注册1个虚拟设备,但OBS-VirtualCam支持最多4个独立设备,每个可绑定不同场景或源。
方法一:命令行批量注册(推荐)
以管理员身份打开命令提示符,依次执行:
regsvr32 "C:Program Filesobs-studiobin64bitobs-virtualsource.dll" /n /i:"1" "C:Program Filesobs-studiobin64bitobs-virtualsource.dll"
regsvr32 "C:Program Filesobs-studiobin64bitobs-virtualsource.dll" /n /i:"2" "C:Program Filesobs-studiobin64bitobs-virtualsource.dll"
【必须加 /n /i:"X" 参数】 缺少这个参数会导致注册失败且无报错提示,设备不会出现在系统摄像头列表中。
方法二:使用预置注册脚本
进入插件目录下的 util 文件夹,双击 reg_2cams.reg(注册2个)、reg_4cams.reg(注册4个),系统会自动写入注册表。
重启OBS Studio后,在“工具→虚拟摄像头”菜单下方会出现“虚拟摄像头 1”“虚拟摄像头 2”等子项,点击即可单独启动对应实例。
你不需要把整个OBS预览窗口塞进微信视频通话——只想把摄像头画面单独输出,同时保留OBS里其他图层(如PPT、字幕)给Twitch用。这时要用“虚拟滤镜输出”功能。
第一步:在OBS中右键目标视频源(例如“USB摄像头”)→ “添加滤镜” → “虚拟滤镜输出”
第二步:在滤镜设置中勾选“启用”,并指定输出通道编号(1–4),该编号需与你注册的虚拟摄像头实例序号一致
第三步:在微信中选择“OBS Virtual Camera 2”,它就只会显示这个源的画面,不受OBS主场景切换影响
注意:此功能仅对视频源生效,不能对音频源单独输出;若源被禁用或分辨率为空,对应虚拟摄像头将黑屏且无错误提示。
OBS默认走x264编码→解码流程,端到端延迟常达180ms以上。进阶用户可通过关闭编码环节,让虚拟摄像头直接读取YUV422原始帧,把延迟压到70ms内。
① 在OBS“设置→视频”中,将“基础画布尺寸”和“输出(缩放)分辨率”设为完全一致(例如都是1280×720),避免缩放触发额外处理
② 进入“设置→输出→视频编码器”,将“编码器”改为“无(仅录制/推流时生效)”,此项不影响虚拟摄像头输出质量
③ 关键一步:打开OBS安装目录下的 obs-studiobin64bitpluginsobs-virtualsourceconfig.ini,将 use_raw_frames=true 设为true
④ 重启OBS,此时虚拟摄像头不再经过H.264压缩,画质无损且延迟骤降——但会显著增加CPU带宽占用,建议仅在1080p以下分辨率启用
某些老版本Zoom或国产会议软件(如腾讯会议旧版)无法解析NV12格式,会黑屏或报“设备不可用”。你需要手动锁定为RGB24或YUY2。
方法:编辑同一目录下的 config.ini,在[output]节下添加:
preferred_format=RGB24
或
preferred_format=YUY2
保存后重启OBS。RGB24兼容性最强但带宽高;YUY2平衡兼容与效率,是多数Windows驱动首选。
测试方式:启动虚拟摄像头后,打开OBS“帮助→日志文件”,搜索“format chosen”,确认日志中出现你指定的格式名而非“NV12”。