Windows上的虚拟摄像头方案
影子
昨天看见自己刷机的老手机,心血来潮想试试能不能把他做成虚拟摄像头。
之前其实也做过,用的是Link Your Phone,这个方案有点太麻烦了。
想着旧手机没有sim卡,让chat给我出了个虚拟摄像头的方案,果断选择了 DroidCam。
安装
首先下载并安装DroidCam在双端
手机安装上会问你提供权限,一个是相机,另一个是麦克风,电脑的话安装后连在同一局域网之后,输入ip地址就会直接显示在你的PC端了,操作很简单,PC端像一个小的OBS,不过使用的时候上面会有水印。
手机端的话,就像是一个相机的软件,挺简约的,操作也很简单,更换滤镜,翻转前后置,画面旋转等基础功能。
测试
由于我没有音频这方面的需求,所以测试的话我就只是测试了画面(摄像头)的部分。
首先是在Windows设置 > 连接和管理其他设备 > 摄像头和视频设备中可以查看是否有我们的Virtual Camera,一般名字会改成默认的DroidCam。
第一次连接时,我发现我的摄像头显示的是绿色的一片,后来发现是摄像头的画面比例及分辨率和我Windows电脑的不一致,需要在PC端将摄像头的分辨率和画面比例调为 16:9 以及 1920*1080。
后面就显示成功了,然后再在微信客户端进行视频通话测试,完美运行!
但是还有一点没达到我的预期的就是画面显示还是竖屏,而且刚设置完只能看见我头上面的一部分,没有那种宽阔视野,横屏的感觉,后面找Gemini问了下可能还需要再套一层OBS的虚拟摄像头来到达这种效果。
原因是:
微信 PC 端默认接收的是标准桌面摄像头16:9的横屏画幅,而 DroidCam 很多时候会直接把手机传感器 竖屏(Portrait) 的原始画面塞给微信,导致画面比例不匹配
后续等我回去再调试一下再更新吧!
套娃
回来之后就照着之前的思路,准备给 DroidCam 再套一层 OBS 的虚拟摄像头。
思路其实很简单:把 DroidCam 当成 OBS 的一路画面来源,在 OBS 里把画面调正、拉成 16:9,再用 OBS 自带的虚拟摄像头输出给微信。
具体就几步:
- 在 OBS 下方的来源里点加号,选择视频采集设备,设备选 DroidCam。
- 把画布分辨率(设置 > 视频)调成 1920*1080,确保是 16:9 的横屏画布。
- 选中这路来源,右键变换,把竖屏画面缩放、裁剪一下,让它尽量铺满整个横屏画布。
- 点右下角的启动虚拟摄像机。
这样微信里就会多出来一个 OBS Virtual Camera 设备,选它就行。
结果
然而结果还是差了口气。
OBS 这边的预览已经是规规矩矩的 16:9 横屏了,可一到微信视频通话,对面看到的画面依旧被压回了竖屏。
之前我一直以为瓶颈在发送端——DroidCam 把手机竖屏的原始画面直接塞给了微信,所以才想着用 OBS 在中间强行掰成 16:9。现在 OBS 输出的明明已经是干净的横屏了,问题却还在,那卡住的地方就只剩接收端了。
手机微信的视频通话从设计上就是竖屏优先的,不管你喂给它什么比例的画面,它最后都会按竖屏来排版。也就是说,只要通话里有一方是手机微信,画面就会被强行掰回竖屏。
所以现在的猜测是:得通话双方都用 PC 端的微信,才有机会跑出真正的横屏效果。 这个等之后凑齐两台电脑再验证,到时候再来补。
折腾一圈,虚拟摄像头本身是彻底跑通了,横屏这事儿就先挖个坑放这儿吧。