Usar la cámara de tu celular como webcam#
Con la nueva normalidad que vivimos alrededor de la virtualidad, el uso de videollamadas se ha incrementado y muchas cámaras incorporadas en los equipos no poseen buenas características (o son ausentes). Adicional, el soporte de opciones como usar el celular, una buena alternativa para no comprar una cámara web, es amplio en Windows pero no en Linux.
Así que, por ese motivo hoy les compartiré como usar la cámara del celular (Android o iOS) como cámara web en Linux.
DroidCam#
Sin hacer muchos rodeos y comparaciones, en este asunto seré muy práctico. La primera aplicación que me cumplió con las características y que funcionó adecuadamente, es DroidCam [droidcam]. Esta utilidad nos permite usar la cámara del celular para reemplazar los incorporados del equipo, y se puede hacer comunicación tanto por wifi como por el cable USB (instalando ADB).
Instalación en Linux#
El procedimiento de instalación puede seguirse en la página web de DroidCam [linux] pero lo lustraré para el caso de Linux Mint (aplicable para Debian y derivados). El aspecto dependiente de la distribución es la instalación de las 3 dependencias requeridas (GCC, Make y Linux Headers).
cosmoscalibur@edliviano:/tmp$ wget https://files.dev47apps.net/linux/droidcam_latest.zip --2020-05-12 19:03:30-- https://files.dev47apps.net/linux/droidcam_latest.zip Resolving files.dev47apps.net (files.dev47apps.net)... 104.28.5.185, 104.28.4.185, 2606:4700:3037::681c:4b9, ... Connecting to files.dev47apps.net (files.dev47apps.net)|104.28.5.185|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 933306 (911K) [application/zip] Saving to: ‘droidcam_latest.zip’ droidcam_latest.zip 100%[===================>] 911,43K 2,45MB/s in 0,4s 2020-05-12 19:03:30 (2,45 MB/s) - ‘droidcam_latest.zip’ saved [933306/933306] cosmoscalibur@edliviano:/tmp$ echo "5ff0e772a76befba4e37e03101b611d7 droidcam_latest.zip" | md5sum -c -- droidcam_latest.zip: OK cosmoscalibur@edliviano:~/tmp$ sudo apt install -y gcc make linux-headers-`uname -r` Reading package lists... Done Building dependency tree Reading state information... Done make is already the newest version (4.1-9.1ubuntu1). gcc is already the newest version (4:7.4.0-1ubuntu2.3). linux-headers-5.3.0-51-generic is already the newest version (5.3.0-51.44~18.04.2). cosmoscalibur@edliviano:/tmp$ unzip droidcam_latest.zip -d droidcam && cd droidcam Archive: droidcam_latest.zip inflating: droidcam/LICENCE inflating: droidcam/Makefile inflating: droidcam/README.md inflating: droidcam/droidcam inflating: droidcam/droidcam-cli inflating: droidcam/install creating: droidcam/src/ inflating: droidcam/uninstall creating: droidcam/v4l2loopback/ inflating: droidcam/v4l2loopback/v4l2loopback-dc.c inflating: droidcam/v4l2loopback/Makefile inflating: droidcam/v4l2loopback/test-mmap.c inflating: droidcam/v4l2loopback/test.c cosmoscalibur@edliviano:/tmp/droidcam$ sudo ./install [sudo] password for cosmoscalibur: Webcam parameters: '640' and '480' Building v4l2loopback-dc.ko make: Entering directory '/tmp/droidcam/v4l2loopback' make -C /lib/modules/`uname -r`/build M=`pwd` make[1]: Entering directory '/usr/src/linux-headers-5.3.0-51-generic' CC [M] /tmp/droidcam/v4l2loopback/v4l2loopback-dc.o Building modules, stage 2. MODPOST 1 modules CC /tmp/droidcam/v4l2loopback/v4l2loopback-dc.mod.o LD [M] /tmp/droidcam/v4l2loopback/v4l2loopback-dc.ko make[1]: Leaving directory '/usr/src/linux-headers-5.3.0-51-generic' make: Leaving directory '/tmp/droidcam/v4l2loopback' Moving driver and executable to system folders + cp v4l2loopback/v4l2loopback-dc.ko /lib/modules/5.3.0-51-generic/kernel/drivers/media/video/ + cp droidcam /usr/bin/ + cp droidcam-cli /usr/bin/ + set +x Registering webcam device Running depmod make: Entering directory '/tmp/droidcam/v4l2loopback' make -C /lib/modules/`uname -r`/build M=`pwd` clean make[1]: Entering directory '/usr/src/linux-headers-5.3.0-51-generic' CLEAN /tmp/droidcam/v4l2loopback/Module.symvers make[1]: Leaving directory '/usr/src/linux-headers-5.3.0-51-generic' make: Leaving directory '/tmp/droidcam/v4l2loopback' Adding uninstall script Adding driver to /etc/modules Done cosmoscalibur@edliviano:/tmp/droidcam$ lsmod | grep v4l2loopback_dc v4l2loopback_dc 24576 0 videodev 208896 5 v4l2_common,videobuf2_v4l2,v4l2loopback_dc,uvcvideo,videobuf2_common
La última instrucción es solo para efectos de validación. Si sale
v4l2loopback_dc
, estamos bien.
Instalación en Android#
Para instalar en Android, buscamos DroidCam en Google Play [android]. Encontrarán dos versiones, una gratuita y una paga. Podemos usar la gratuita para la funcionalidad requerida, siendo única limitación la resolución máxima a la que transmite.
Una vez instalada, procedemos a abrir y seguir los siguientes pasos:
Mensaje de agradecimiento, presionamos «Próximo».
Instrucciones para cámara web, presionamos «Obtener».
En la siguiente vista obtenemos la IP y el puerto que debemos configurar en nuestro equipo.
En la parte superior derecha, accedemos a la configuración. La configuración importante para nosotros está en la sección «CÁMARA», y es el límite de FPS (ayuda a ahorrar batería) y la cámara que se usará (en «Cámara» podemos seleccionar cual de las cámaras).
Ejecutar#
Finalmente, para hacer uso de DroidCam en Linux, debemos ejecutar en la
consola droidcam
y esto abrirá un GUI para ingresar la IP y el
puerto que usaremos.
cosmoscalibur@edliviano:/tmp/droidcam$ droidcam Device: USB2.0 VGA UVC WebCam: USB2.0 V Device: USB2.0 VGA UVC WebCam: USB2.0 V Device: Droidcam Found driver: /dev/video2 (fd:7) connecting to 192.168.1.2:4747
Una vez configurado, presionamos «Connect». En este momento DroidCam del celular activará la vista de la cámara y podremos configurar la aplicación que requiera de la cámara.
Para ejemplo, tomaré Skype, pero será igual con toda aplicación que soporte selección de cámara (aplica para Hangout, OBS, Teams, entre otras). En el menú respectivo, seleccionamos «DroidCam» y estamos listos.
Comparemos ahora la calidad incluyendo las dos vistas (DroidCam e incorporada) con OBS.
Referencias#
DroidCam Wireless Webcam https://www.dev47apps.com/ .
DroidCam Linux Install https://www.dev47apps.com/droidcam/linuxx/ .
DroidCam Wireless Webcam (Android) https://play.google.com/store/apps/details?id=com.dev47apps.droidcam