• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

pyfakewebcam - błąd

Cloud VPS
+1 głos
393 wizyt
pytanie zadane 17 lutego 2021 w Python przez 12332112332121 Dyskutant (8,270 p.)
edycja 17 lutego 2021 przez 12332112332121

Piszę program, który stworzy wirtualną kamerę a ta będzie wyświetlała zmodyfikowany obraz normalnej kamery. Używam linuxa i znalazłem bibliotekę pyfakewebcam. Niestety już samo stworzenie obiektu, zgodnie z przykładem który znajduje się na githubie wyrzuca błąd:
 

cam = pyfakewebcam.FakeWebcam('/dev/video1', 1280, 720)

#  File "/home/uzytkownik/.local/lib/python3.8/site-packages/pyfakewebcam/pyfakewebcam.py", line 54, in __init__
#    fcntl.ioctl(self._video_device, _v4l2.VIDIOC_S_FMT, self._settings)
#  OSError: [Errno 22] Invalid argument

Czy ma ktoś pomysł, co idzie nie tak? Może ktoś zna jakiś inny sposób na "zakłamanie" kamery, aby pokazywała zmodyfikowany obraz? Rozwiązanie najlepiej jakby było w pythonie lub c++ie.  Z góry dzięki

1 odpowiedź

+1 głos
odpowiedź 17 lutego 2021 przez JAKUBW Nałogowiec (33,470 p.)
wybrane 17 lutego 2021 przez 12332112332121
 
Najlepsza

Jeżeli utworzyłeś fejkową kamerę poprzez v4l2loopback to możesz użyć komendy

ffmpeg -re -i video.mp4 -map 0:v -f v4l2 /dev/video0

 /dev/video0 to plik do kamery a video.mp4 to film, który chcesz odtworzyć na wirtualnej kamerce.

Natomiast jak chcesz najprostsze rozwiązanie do wysyłania fakowego strumienia na kamerkę to polecam ci program OBS wraz z pluginem v4l2sink

komentarz 17 lutego 2021 przez 12332112332121 Dyskutant (8,270 p.)
Niestety OBS nie wspiera linxa :( ale dzięki za pomocną odpowiedź
1
komentarz 18 lutego 2021 przez JAKUBW Nałogowiec (33,470 p.)
Oj wspiera, wspiera i to oficjalnie. Ja korzystam i jestem zadowolony. A np. plugin v4l2sink jest tylko na Linuxa tak btw
komentarz 18 lutego 2021 przez 12332112332121 Dyskutant (8,270 p.)

No to mnie zdziwiłeś. Na głównej stronie znalazłem napis: Supported Platforms: Windows, co sprawiło że porzuciłem obsa, ale faktycznie, poniżej znalazłem link do wersji na linuxa. Dzięki za pomoc

komentarz 18 lutego 2021 przez 12332112332121 Dyskutant (8,270 p.)
I czy wiesz może czy jest możliwe korzystanie z tej biblioteki z poziomu jakiegoś języka, np. c++, bez konieczności posiadania obsa?
komentarz 18 lutego 2021 przez JAKUBW Nałogowiec (33,470 p.)
Możesz napisać pluginy do obs... Ale jak nie chcesz z niego korzystać (nie wiem dlaczego, nie wiem co chcesz osiągnąć) to możesz pobawić się w modyfikowanie obrazu na własną rękę używając bibliotek typu opencv. Choć nigdy tego nie robiłem bo obs mi wystarcza to domyślam się że pisanie tego w c++ nie będzie łatwe, już lepiej użyć rust.

Jaki efekt docelowy chcesz uzyskać? Co ma robić twój program?
komentarz 18 lutego 2021 przez 12332112332121 Dyskutant (8,270 p.)
Program który piszę z pomocą opencv pobiera aktualny stan kamerki i modyfikuje obraz klatka po klatce. Następnie chciałbym te zmodyfikowane już klatki wyświetlać jako faktyczny output kamery. Doszedłem już do wniosku że powinienem stworzyć wirtualną kamerę, lecz nie potrafie nakarmić jej moimi zmodyfikowanymi klatkami. Z OBSa nie chcę kożystać bo piszę ten program dla pisania go, bardziej w celach edukacyjnych niż użytkowych.

Podobne pytania

0 głosów
1 odpowiedź 303 wizyt
pytanie zadane 28 marca 2018 w Python przez Okto Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 241 wizyt
0 głosów
0 odpowiedzi 110 wizyt

93,454 zapytań

142,448 odpowiedzi

322,717 komentarzy

62,832 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...