¿Cómo crear un duplicado de / dev / video0?

17

Tengo 1 cámara web conectada a mi computadora, pero quiero usarla en varios programas.
El problema es que cuando ejecuto un segundo programa, me dice que la cámara web ya está en uso.

Los programas que utilizarán la cámara web son: motion, pam_face_authentification y algunos programas de comunicación como skype, google hangout ...

¿Cómo puedo duplicar el flujo de mi cámara web para simular una segunda cámara web?

usuario244552
fuente
¿No entiendo lo que me estás diciendo?
user244552
transmitir a un archivo y a la pantalla. podrías hacer esto con vlc, posiblemente queso. una vez que tienes una transmisión, cualquier cosa podría usarla.
j0h
¿Por qué no hacerlo en el inicio del sistema operativo? A través de "Aplicaciones de inicio".
Gtx

Respuestas:

9

Lo primero que pensé fue, me pregunto si a alguien se le ocurrió una manera de hacer que un video aparezca como una cámara web (por ejemplo, estoy en el cielo con alguien, pero el video y el audio que ven es un video que elegí en su lugar). Después de buscar un poco, parece que la gente ha hecho esta tubería de video (como se discutió en Manipulación del video de desarrollo y falsificación de una cámara web usando un dispositivo de video loopback)

Como se menciona en su comentario, le gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1permite duplicar video0 a video1 , y algún software puede leer video1 .

Para que esto se ejecute cuando se inicia su computadora, puede seguir UbuntuBootupHowto para llegar a algo como:

# /etc/init/videocloner.conf
description "VideoCloner"
start on runlevel [2345]
stop on runlevel [06]
respawn
exec gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1

Este script debe comenzar cuando la computadora se inicia y también le permite ejecutarlo sudo service videocloner start|stop (Nota: si mi script de ejemplo no funciona, intente pasar gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1a un script de shell y cambie la execlínea para llamar a su script de shell) .

Dolan Antenucci
fuente
1
Quiero agregar algo a la respuesta de Dolan. También necesita instalar el v4l2loopback-dkmspaquete y ejecutar el v4l2loopbackmódulo: sudo apt-get install v4l2loopback-dkmsy luegosudo modprobe v4l2loopback
Tarek Loubani
He intentado esto, pero el resultado es que tengo un / dev / video1 utilizable, pero un / dev / video0 inutilizable, por lo que no me permite tener dos programas que usen la misma cámara web física. Intenté modificar el comando para crear / dev / vidoe1 y / dev / video2, así que tengo 2 puntos finales, pero no tuve suerte.
unfa