jak stworzyć duplikat / dev / video0?


17

Mam 1 kamerę internetową podłączoną do mojego komputera, ale chcę jej używać w wielu programach.
Problem polega na tym, że kiedy uruchamiam drugi program, mówi mi, że kamera internetowa jest już używana.

Programy, które będą korzystać z kamery internetowej to: motion, pam_face_authentification oraz niektóre oprogramowanie komunikacyjne, takie jak Skype, Hangout Google ...

Jak mogę powielić przepływ mojej kamery internetowej, aby zasymulować drugą kamerę internetową?


Nie rozumiem, co mi mówisz?
— user244552,

strumień do pliku i na wyświetlacz. możesz to zrobić za pomocą VLC, prawdopodobnie sera. gdy masz już strumień, wszystko może go użyć.
— j0h

Dlaczego nie zrobić tego w systemie operacyjnym? Poprzez „Aplikacje startowe”.
— Gtx

Odpowiedzi:


9

Moje pierwsze myśli były następujące: zastanawiam się, czy ktoś wymyślił sposób wyświetlania wideo jako kamery internetowej (np. Skypuję z kimś innym, ale wideo i audio, które widzą, to wybrane przeze mnie wideo). Po krótkich poszukiwaniach wygląda na to, że ludzie zrobili to przesyłanie wideo (jak omówiono w Manipulowaniu wideo dla programistów i fałszywej kamerze internetowej za pomocą urządzenia pętli wideo?

Jak wspomniano w komentarzu, gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1pozwala powielić video0 do video1 i video1 jest czytelny przez jakiegoś oprogramowania.

Aby uruchomić to podczas uruchamiania komputera, możesz śledzić UbuntuBootupHowto i wymyślić coś takiego:

# /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

Ten skrypt powinien się uruchomić, gdy komputer uruchomi się, a także umożliwia uruchomienie sudo service videocloner start|stop (Uwaga: jeśli mój przykładowy skrypt nie działa, spróbuj przejść gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1do skryptu powłoki i execzamiast tego zmienić wiersz, aby wywoływał skrypt powłoki) .


1
Chcę dodać coś do odpowiedzi Dolana. Musisz także zainstalować v4l2loopback-dkmspakiet i uruchomić v4l2loopbackmoduł: sudo apt-get install v4l2loopback-dkmsa następniesudo modprobe v4l2loopback
— Tarek Loubani

Próbowałem tego, ale w rezultacie mam użyteczne / dev / video1, ale nieużyteczne / dev / video0, więc nie pozwala mi to na to, aby dwa programy korzystały z tej samej fizycznej kamery internetowej. Próbowałem zmodyfikować polecenie, aby utworzyć / dev / vidoe1 i / dev / video2, więc mam 2 punkty końcowe, ale bez powodzenia.
— unfa

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.