Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2022-08-20 09:00:20

  Grabek - Użytkownik

Grabek
Użytkownik
Zarejestrowany: 2019-06-12

Zoom - podmiana obrazu z kamery

Witam.
Korzystam z aplikacji zoom a dokładniej siedzę, słucham i muszę udawać, że patrzę w ekran (kurs online).
Zastanawiam się czy jest możliwość, aby nagrać obraz i zapętlony wrzucić zamiast kamery?

Offline

 

#2  2022-08-20 19:49:43

  jawojx - Użytkownik

jawojx
Użytkownik
Zarejestrowany: 2012-10-11

Re: Zoom - podmiana obrazu z kamery

Zainstaluj v4l2loopback-dkms, to zbuduje moduł dla twojego kernela pozwalający tworzyć wirtualne urządzenia wideo.

Kod:

apt install v4l2loopback-dkms

Załaduj moduł (przy tworzeniu jednego wirtualnego urządzenia, wystarczy tak, bez dodatkowych konfiguracji). Z root-a.

Kod:

modprobe v4l2loopback

Jak istnieje taka potrzeba skonfigurować ładowanie modułu przy uruchamianiu systemu.
Uruchom materiał wideo w nieskończonej pętli dla utworzonego wirtualnego /dev/video1, gdzie /dev/video0 jest kamerą wbudowaną w laptopa, z przełącznikiem wymuszającym przetwarzanie w czasie rzeczywistym, bo czasami przyspiesza.

Kod:

ffmpeg -stream_loop -1 -re -i plik_wideo.mp4 -f v4l2 /dev/video1

Ustaw w programie kamerę, tu w przykładzie drugą, jako domyślną.
Ja używam tego rozwiązania czasami, do przekazywania obrazu z kamer PVR, jak nie ma możliwości uzyskania adresu publicznego, a inne rozwiązania są niedostępne.

Ostatnio edytowany przez jawojx (2022-08-20 20:00:31)

Offline

 

#3  2022-11-04 22:51:37

  Grabek - Użytkownik

Grabek
Użytkownik
Zarejestrowany: 2019-06-12

Re: Zoom - podmiana obrazu z kamery

Dostaje taki komunikat przy instalacji.

Kod:

DKMS make.log for v4l2loopback-0.12.1 for kernel 5.4.0-0.bpo.4-amd64 (x86_64)
pią, 4 lis 2022, 21:50:03 GMT
Building v4l2-loopback driver...
make -C /lib/modules/5.4.0-0.bpo.4-amd64/build M=/var/lib/dkms/v4l2loopback/0.12.1/build modules
make[1]: Wejście do katalogu '/usr/src/linux-headers-5.4.0-0.bpo.4-amd64'
  CC [M]  /var/lib/dkms/v4l2loopback/0.12.1/build/v4l2loopback.o
/var/lib/dkms/v4l2loopback/0.12.1/build/v4l2loopback.c: In function ‘vidioc_qbuf’:
/var/lib/dkms/v4l2loopback/0.12.1/build/v4l2loopback.c:1509:4: error: implicit declaration of function ‘v4l2_get_timestamp’; did you mean ‘v4l2_get_subdevdata’? [-Werror=implicit-function-declaration]
    v4l2_get_timestamp(&b->buffer.timestamp);
    ^~~~~~~~~~~~~~~~~~
    v4l2_get_subdevdata
cc1: some warnings being treated as errors
make[3]: *** [/usr/src/linux-headers-5.4.0-0.bpo.4-common/scripts/Makefile.build:271: /var/lib/dkms/v4l2loopback/0.12.1/build/v4l2loopback.o] Błąd 1
make[2]: *** [/usr/src/linux-headers-5.4.0-0.bpo.4-common/Makefile:1665: /var/lib/dkms/v4l2loopback/0.12.1/build] Błąd 2
make[1]: *** [/usr/src/linux-headers-5.4.0-0.bpo.4-common/Makefile:179: sub-make] Błąd 2
make[1]: Opuszczenie katalogu '/usr/src/linux-headers-5.4.0-0.bpo.4-amd64'
make: *** [Makefile:43: v4l2loopback.ko] Błąd 2

Offline

 

#4  2022-11-04 23:51:56

  Grabek - Użytkownik

Grabek
Użytkownik
Zarejestrowany: 2019-06-12

Re: Zoom - podmiana obrazu z kamery

Udało mi się zainstalować, mam problem przy odtwarzaniu

Kod:

root@debian:/home/agnieszka/Pulpit# ffmpeg -stream_loop -1 -re -i kurs.mp4 -f v4l2 /dev/video1
ffmpeg version 4.1.9 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-libopencv --disable-outdev=sdl2 --disable-podpages --disable-sndio --disable-stripping --enable-libaom --enable-avfilter --enable-avresample --enable-gcrypt --disable-gnutls --enable-openssl --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libzimg --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opencl --enable-opengl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --enable-libwebp --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --enable-libmfx --enable-libvmaf --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'kurs.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 0
    compatible_brands: mp41avc1
    creation_time   : 2022-11-04T22:47:02.000000Z
    encoder         : vlc 3.0.12 stream output
    encoder-eng     : vlc 3.0.12 stream output
  Duration: 00:00:14.09, start: 0.000000, bitrate: 616 kb/s
    Stream #0:0(eng): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv), 1280x720, 614 kb/s, 11 fps, 11 tbr, 90k tbn, 11 tbc (default)
    Metadata:
      creation_time   : 2022-11-04T22:47:02.000000Z
      handler_name    : VideoHandler
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> rawvideo (native))
Press [q] to stop, [?] for help
[video4linux2,v4l2 @ 0x558ba3eb8c80] ioctl(VIDIOC_G_FMT): Invalid argument=N/A    
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 -- 
Conversion failed!

Edycja
Coś ten moduł się jednak nie ładuje

Kod:

root@debian:/home/agnieszka# modprobe v4l2loopback
modprobe: FATAL: Module v4l2loopback not found in directory /lib/modules/5.4.0-0.bpo.4-amd64

Ostatnio edytowany przez Grabek (2022-11-05 09:18:30)

Offline

 

#5  2022-11-05 12:44:54

  jawojx - Użytkownik

jawojx
Użytkownik
Zarejestrowany: 2012-10-11

Re: Zoom - podmiana obrazu z kamery

Ty masz nowszy kernel niż dedykowany dla Debiana 10, to tak jak kernel i to zainstaluj z backports.
Odinstaluj stare, wcześniej usuń moduł. (z root-a, lub sudo)

Kod:

modprobe -r v4l2loopback

Kod:

apt purge v4l2loopback-dkms

I zainstaluj z backport-ów

Kod:

apt install -t buster-backports  v4l2loopback-dkms

Co do pierwszego błędu, musiałeś użyć takiego kodeka, a nie najpopularniejszego h264. :)
Nie pomyślałem o tym. Nie wiem, dlaczego z góry założyłem, że to będzie materiał prosty h264. Jak dalej będą problemy, przy nowym, to spróbuj wymusić to, z czym sobie nie radzi, dodaj -vcodec rawvideo -vf format=yuv420p i nie uruchamiaj tego z root-a, jak wyżej. Wyglądałoby to tak.

Kod:

ffmpeg -stream_loop -1 -re -i kurs.mp4 -vcodec rawvideo -vf format=yuv420p -f v4l2 /dev/video1

Ostatnio edytowany przez jawojx (2022-11-05 12:49:22)

Offline

 

#6  2022-11-05 14:52:39

  Grabek - Użytkownik

Grabek
Użytkownik
Zarejestrowany: 2019-06-12

Re: Zoom - podmiana obrazu z kamery

Dzięki, działa. Czym najlepiej nagrać obraz z kamery? obecnie VLC do tego używam.

Offline

 

#7  2022-11-05 17:50:02

  jawojx - Użytkownik

jawojx
Użytkownik
Zarejestrowany: 2012-10-11

Re: Zoom - podmiana obrazu z kamery

A co kto ma i czym kto lubi, ważniejsze jest by klatka, początkowa i końcowa przy pętli się pokrywała, bo będzie widać cięcie. W konsoli można ffmpeg-iem, zatrzymujemy wiadomo ctrl-c.

Kod:

ffmpeg -f v4l2 -i /dev/video0 webcam0.mp4

Edycja:  Teraz mi tak przyszło do głowy, że wolałbyś może coś graficznego (jest tego trochę) i co ważniejsze przypomniałem sobie o tym, że czasami jest kłopot z wykryciem tak uruchomionego źródła. I takim programem, który ma problemy z wykryciem jest cheese (jakby nie było graficzny program do obsługi web-kamer, ma też nagrywanie) i dla takich programów musisz uruchomić to z parametrem exclusive_caps, wcześniej wyładowując działający moduł. Dla ułatwienia, już nie wymagane, dodana nazwa dla kamery, dla cheese będzie.

Kod:

modprobe -r v4l2loopback

Kod:

modprobe v4l2loopback card_label="Nowa" exclusive_caps=1

Dalej uruchomić strumień. I teraz będzie wykrywana w ustawieniach cheese, druga kamera. Może się przyda.

Ostatnio edytowany przez jawojx (2022-11-05 20:06:43)

Offline

 

#8  2022-11-05 22:04:12

  Grabek - Użytkownik

Grabek
Użytkownik
Zarejestrowany: 2019-06-12

Re: Zoom - podmiana obrazu z kamery

Dzięki. Póki co nagrałem kilkuminutowy film przez vlc. Jak się zapętla to mały przeskok jest, ale ja specjalnie na początku zgłaszam, że mam problem z połączeniem i może rwać połączenie. Do tego stara kamerka (kupiona w 2009 r - już wtedy była to jakaś tańsza). Wymóg jest, że musi być widać twarz. A, że widać słabo, to nie mój problem :-)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)