通过DroidCam让手机做电脑摄像头
网课、开会、直播,总会要求有电脑摄像头。但是为这一段时间而单独购买一个摄像头不值当,就不如让手机来完成这一角色,画质还好。
一、电脑端
Archlinux通过AUR安装,其他发行版就自己找一找吧。
AUR安装DroidCam。注意编辑PKGBUILD,将headers的依赖修改为与你的内核相对应的版本。比如默认的linux内核就保持默认的linux-headers
依赖,lts内核就改成linux-headers-lts
,以此类推。
完成后重启,载入模块sudo modprobe v4l2loopback_dc
。
二、手机端
搜索安装droidcamx即可。
三、使用
现在,将电脑和手机连入同一个局域网,启动手机应用,会给出ip和端口号。启动电脑端程序,将给出的ip和端口号填入,连接。
你会发现手机端启动相机功能了。那么如何在电脑上使用它呢?
只需要打开任何一款有视频捕获功能的程序,比如OBS,新建视频捕获设备(V4L2)
,其中的设备选择v4l2loopback一项,确定。你会发现你的手机已经作为电脑摄像头使用了。但是你会发现,这个镜头的分辨率很低,有没有办法提高它呢?
四、提升分辨率
很简单。首先关闭所有正在使用摄像头的程序,然后停止内核模块:sudo rmmod v4l2loopback_dc
编辑/etc/modprobe.d/droidcam.conf
,将其中的width
和height
修改为自己想要的宽高比,保存(没有这两个参数则直接写入即可)。需要注意,免费版程序只能用4:3的分辨率,其他比例的分辨率会拉拉伸画面。
再次启用模块:sudo modprobe v4l2loopback_dc
,重新打开捕获程序,分辨率就提高了。
最后,就像前一篇文章。如果你的AUR获取有问题,那么可以尝试使用我这里提供的两个源文件:icon2.png、droidcam.tar.bz2。或者你可以直接使用我编译好的droidcam-6.7.5-4-x86_64.pkg.tar.xz安装。但由于每个人的电脑环境不同,这个不能保证可以正常使用——尤其是非lts内核的用户。
我现在的思路是先虚拟一个/dev/video,然后通过ffmpeg像里面传输内容。但是到现在都没有实现,chrome和obs都没有成功识别,博主有什么想法呢? —— 采唐 于 发表。 回复TA