Tutorial crear una fake webcam en Linux

Hola!

Hoy vamos a ver como crear una [b]fake-webcam[/b] en linux (en otras palabras.. Emular o hacerle creer a la pc que tenemos una webcam obviamente sin tenerla).

Ejemplo de caso de uso (hay miles):

Actualmente estoy trabajando en un proyecto el cual requiere de utilizar la webcam y de esta manera puedo trabajar en cualquier lugar sin tener un webcam utilizando como fuente de entrada un simple video.

Ahora si, arranquemos!

1- Vamos a instalar lo que necesitamos..

apt-get install v4l2loopback ffmpeg

2- Corremos el siguiente comando:

modprobre v4l2loopback

3- (Opcional)Vamos a testear que el video se nos levantó:

ls /dev/video*

…Probablemente el ‘dispositivo’ sea ‘/dev/video0‘)

4- Con la siguiente linea simulamos una webcam utilizando nuestro escritorio como «entrada de video»

ffmpeg -f x11grab -r 15 -s 1280×720 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0

Listo! Ya tenemos nuestra fake webcam corriendo en /dev/video0 con fuente de entrada nuestro escritorio, es decir lo que se estaría viendo en la webcam sería nuestro escritorio.

 

Ahora veremos como hacer lo mismo pero utilizando un video mp4 como fuente de entrada:

En nuestro caso como vamos a elegir un video de duración de 20 segundos.

Necesitamos que se repita continuamente (es decir, que termine y vuelva a iniciar), vamos a tener que armar un script para ser más prolijos (además de que esto se podría convertir en una super aplicación!)

1- Creamos un archivo llamado ‘fakeWebcam.sh‘ (podemos crearlo con el comando: touch ‘fakeWebcam.sh’) con el siguiente contenido:

#!/bin/bash

#Ejemplo:
#./fakeWebcam.sh input_video.mp4 /dev/video0

INPUT=$1
DEVICE_VIDEO=$2

while [ true ]; do
read -t 1 -n 1
if [ $? = 0 ] ; then
exit ;
else
ffmpeg -re -i $INPUT -map 0:v -f v4l2 $DEVICE_VIDEO
fi
done

Luego…

1- Guardamos el archivo

2- Nos paramos en el mismo directorio que se encuentra el archivo que acabamos de crear (en el caso de no haber estado en el directorio)

3- Le damos permisos de ejecución de la siguiente manera:

chmod +x fakeWebcam.sh

Listo!!

Ahora para ejecutarlo simplemente nos paramos en ese directorio (para no tener que utilizar la ruta completa) y tipeamos lo siguiente:

./fakeWebcam.sh input_video.mp4 /dev/video0

Para parar la ejecución simplemente debemos presionar la letra q (en la consola la cual está corriendo nuestra super aplicación fakeWebcam!)

Repositorio GITHUB: https://github.com/nkrowicki/fake-webcam

EXTRA: para ver el ‘dispositivo’ /dev/video0 podemos usar:

ffplay /dev/video0

Saludos!

59 Comments Posted

  1. he visto tu tutorial, y me parece bueno, hay un programa que han dejado muerto llamado webcam studio deberías usando su código fuente seguir mejorandolo ya que, estaba bien bueno pero croe que no le mejoran nada hace años.

  2. soy antonio de nuevo te hago una pregunta, hay alguna forma de poner un video pero poder controlar la linea de tiempo del video es decir, subir y bajar por donde va el video en tiempo real mientras lo tengo reproducido por que así como tu lo haces no veo la forma de hacerlo.

  3. Little did they already know Al Horford, the Hawks
    center would finally return from an injury which in fact had
    kept him away in the basketball courts since January. This way you are able to grab all of your notifications easier and discover people
    have won any competitions. The excitement and prize money of
    online casino games make no deposit online casino bonuses extremely appealing and many everyone
    is of the opinion why these varieties of offers are only irresistible. https://casinoview.net/baccarat/

  4. I was curious if you ever considered changing the structure of your blog?
    Its very well written; I love what youve got to say.
    But maybe you could a little more in the way of content
    so people could connect with it better. Youve got an awful lot of text for
    only having one or 2 pictures. Maybe you could space it out
    better?

  5. Photo Auto Liker, Working Auto Liker, auto liker, Autoliker, Autolike International, Autoliker, autolike, autoliker, Photo Liker, Status Liker, ZFN Liker, auto like, Autolike, Status Auto Liker, Increase Likes, Auto Like, Auto Liker

Leave a Reply

Your email address will not be published.


*