ubuntuusers.de

v4l2loopback

Status: Ungelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

Spooky1966

Anmeldungsdatum:
28. Februar 2021

Beiträge: 40

Spooky1966 schrieb:

Spooky1966 schrieb:

jickel schrieb:

Hallo Spooky1966,

sorry, habe deinen Kommentar übersehen. Die Kamera ist die C922 Pro HD von Logitech.

wird sie erkannt und was sagt

mplayer tv:// -tv device=/dev/video0

oder

mpv av://video4linux2:/dev/video0

oder

sudo apt-get install camorama

und camorama öffnen

was du da machst ist ist ein virtuelles device erstellen

interessant wäre noch

sudo lsusb

jickel

(Themenstarter)

Anmeldungsdatum:
9. Mai 2010

Beiträge: 142

Ja, wird erkannt und zeigen jeweils Bild.

mplayer tv:// -tv device=/dev/video0 MPlayer 1.2.1 (Debian), built with gcc-5.4.0 (C) 2000-2016 MPlayer Team mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control.

Playing tv://. TV file format detected. Selected driver: v4l2 name: Video 4 Linux 2 input author: Martin Olschewski <olschewski@zpr.uni-koeln.de> comment: first try, more to come 😉 v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM was used instead. Selected device: C922 Pro Stream Webcam Capabilities: video capture streaming supported norms: inputs: 0 = Camera 1; Current input: 0 Current format: YUYV tv.c: norm_from_string(pal): Bogus norm parameter, setting default. v4l2: ioctl enum norm failed: Inappropriate ioctl for device Error: Cannot set norm! Selected input hasn't got a tuner! v4l2: ioctl set mute failed: Invalid argument v4l2: ioctl query control failed: Invalid argument Failed to open VDPAU backend libvdpau_i965.so: cannot open shared object file: No such file or directory [vdpau] Error when calling vdp_device_create_x11: 1

Opening video decoder: [raw] RAW Uncompressed Video Could not find matching colorspace - retrying with -vf scale... Opening video filter: [scale] Movie-Aspect is undefined - no prescaling applied. [swscaler @ 0x5649c295e480] bicubic scaler, from yuyv422 to yuv420p using MMXEXT [swscaler @ 0x5649c295e480] using unscaled yuyv422 → yuv420p special converter VO: [xv] 640x480 ⇒ 640x480 Planar YV12 Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)

Audio: no sound Starting playback... V: 0.0 1227/1227 ??% ??% ??,?% 0 0

mpv av://video4linux2:/dev/video0 Playing: av://video4linux2:/dev/video0 (+) Video --vid=1 (rawvideo) Using conversion filter. VO: [opengl] 640x480 yuv422p V: 00:00:09

Und camorama läuft auch

camorama

(camorama:8391): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

(camorama:8391): GLib-GObject-WARNING **: cannot retrieve class for invalid (unclassed) type '<invalid>'

Und sudo lsusb gibt

Bus 002 Device 004: ID 067b:2305 Prolific Technology, Inc. PL2305 Parallel Port Bus 002 Device 006: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse Bus 002 Device 005: ID 413c:2010 Dell Computer Corp. Keyboard Bus 002 Device 003: ID 413c:1003 Dell Computer Corp. Keyboard Hub Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 005: ID 046d:085c Logitech, Inc. Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Spooky1966

Anmeldungsdatum:
28. Februar 2021

Beiträge: 40

jickel schrieb:

Ja, wird erkannt und zeigen jeweils Bild.

mplayer tv:// -tv device=/dev/video0 MPlayer 1.2.1 (Debian), built with gcc-5.4.0 (C) 2000-2016 MPlayer Team mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control.

Playing tv://. TV file format detected. Selected driver: v4l2 name: Video 4 Linux 2 input author: Martin Olschewski <olschewski@zpr.uni-koeln.de> comment: first try, more to come 😉 v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM was used instead. Selected device: C922 Pro Stream Webcam Capabilities: video capture streaming supported norms: inputs: 0 = Camera 1; Current input: 0 Current format: YUYV tv.c: norm_from_string(pal): Bogus norm parameter, setting default. v4l2: ioctl enum norm failed: Inappropriate ioctl for device Error: Cannot set norm! Selected input hasn't got a tuner! v4l2: ioctl set mute failed: Invalid argument v4l2: ioctl query control failed: Invalid argument Failed to open VDPAU backend libvdpau_i965.so: cannot open shared object file: No such file or directory [vdpau] Error when calling vdp_device_create_x11: 1

Opening video decoder: [raw] RAW Uncompressed Video Could not find matching colorspace - retrying with -vf scale... Opening video filter: [scale] Movie-Aspect is undefined - no prescaling applied. [swscaler @ 0x5649c295e480] bicubic scaler, from yuyv422 to yuv420p using MMXEXT [swscaler @ 0x5649c295e480] using unscaled yuyv422 → yuv420p special converter VO: [xv] 640x480 ⇒ 640x480 Planar YV12 Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)

Audio: no sound Starting playback... V: 0.0 1227/1227 ??% ??% ??,?% 0 0

mpv av://video4linux2:/dev/video0 Playing: av://video4linux2:/dev/video0 (+) Video --vid=1 (rawvideo) Using conversion filter. VO: [opengl] 640x480 yuv422p V: 00:00:09

Und camorama läuft auch

camorama

(camorama:8391): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

(camorama:8391): GLib-GObject-WARNING **: cannot retrieve class for invalid (unclassed) type '<invalid>'

na dann wird sie ja schon mal erkannt! und skype erkennt sie nicht?

jickel

(Themenstarter)

Anmeldungsdatum:
9. Mai 2010

Beiträge: 142

Skype erkennt sie auch. Sowohl nur die Kamera, als auch das eingespielte Bild nur mit meinem Gesicht und green screen, als auch dann das kombinierte Bild. Das kombinierte Bild, welches per virtual Cam von OBS reingespielt wird(green screen ersetzt durch ein Bild), aber eben mit Flackern.

Spooky1966

Anmeldungsdatum:
28. Februar 2021

Beiträge: 40

jickel schrieb:

Skype erkennt sie auch. Sowohl nur die Kamera, als auch das eingespielte Bild nur mit meinem Gesicht und green screen, als auch dann das kombinierte Bild. Das kombinierte Bild, welches per virtual Cam von OBS reingespielt wird(green screen ersetzt durch ein Bild), aber eben mit Flackern.

flackert das bild beim mplayer wenn nein ist es skype skype ist nicht frei !!! du kannst google duo verweden und versuchen ob es da geht oder bei den skype einstellungen rumspielen

Spooky1966

Anmeldungsdatum:
28. Februar 2021

Beiträge: 40

Spooky1966 schrieb:

jickel schrieb:

Skype erkennt sie auch. Sowohl nur die Kamera, als auch das eingespielte Bild nur mit meinem Gesicht und green screen, als auch dann das kombinierte Bild. Das kombinierte Bild, welches per virtual Cam von OBS reingespielt wird(green screen ersetzt durch ein Bild), aber eben mit Flackern.

flackert das bild beim mplayer wenn nein ist es skype skype ist nicht frei !!! du kannst google duo verweden und versuchen ob es da geht oder bei den skype einstellungen rumspielen

v4l2-ctl -d /dev/video0 --get-parm

zeigt dir die parameter deiner camera obs kenn ich nicht

jickel

(Themenstarter)

Anmeldungsdatum:
9. Mai 2010

Beiträge: 142

Dieses ganze google gedöns )-: mit anmelden......aber trotzdem danke für deinen Tipp. Wenn ich die Anmeldung irgendwie umgehen kann versuche ich es. Aber ich denke nicht, daß das an Skype liegt. Normale Videocalls funktionieren ja mit Skype. Und auch, wenn ich nur deepbacksub solo einspiele. Nur wenn der button "Start vritual cam" von OBS gedrückt wird fängt es an.

Bin für heute weg....

Spooky1966

Anmeldungsdatum:
28. Februar 2021

Beiträge: 40

jickel schrieb:

Dieses ganze google gedöns )-: mit anmelden......aber trotzdem danke für deinen Tipp. Wenn ich die Anmeldung irgendwie umgehen kann versuche ich es. Aber ich denke nicht, daß das an Skype liegt. Normale Videocalls funktionieren ja mit Skype. Und auch, wenn ich nur deepbacksub solo einspiele. Nur wenn der button "Start vritual cam" von OBS gedrückt wird fängt es an.

Bin für heute weg....

ls /dev/ | grep video

zeigt dir alle video devices

sudo modprobe v4l2loopback devices=1 max_buffers=2 exclusive_caps=1 card_label="VirtualCam"

du legst nur ein device an versuchs mal mit

sudo modprobe v4l2loopback devices=2 max_buffers=2 exclusive_caps=1 card_label="VirtualCam"

dann sollte /dev/video0 und video1 existieren

deine camera liegt auf /dev/video0

also video0 ist belegt also solltest osb virtual auf video1 sein

nicht das das virtuelle device auch auf video0 liegt!! schaut nämlich ganz so aus

ffmpeg -loop 1 -re -i exampe.png -f v4l2 -vcodec rawvideo -pix_fmt yuv420p /dev/video1

so legst du auf der konsole ein png loopback an

und so verbindest du video0 mit png

versuch mal

ffmpeg -i /dev/video0 -i example.png -filter_complex "overlay" -f v4l2 -pix_fmt yuv420p /dev/video1

deine camera ist video0 + png zu video1 ! skype auf video1 stellen sollte der trick sein

jickel

(Themenstarter)

Anmeldungsdatum:
9. Mai 2010

Beiträge: 142

Nicht, daß ich nicht auf deinen Vorschlag eingehen möchte....vermutlich habe ich mich nicht richtig ausgedrückt?

Ich erklär einfach mal:

ls /dev/ | grep video
zeigt

video0
video13 

an.

video13 wird von der OBS Installation erzeugt mit 
options v4l2loopback devices=1 video_nr=13 card_label='OBS Virtual Camera'exclusive_caps=1


sudo modprobe v4l2loopback devices=1 max_buffers=2 exclusive_caps=1 card_label="VirtualCam" 
brauch ich eigentlich gar nicht, oder?
Denn deepbacksub-0.2.0 starte ich mit
./deepseg -d -d -c /dev/video0 -v /dev/video13 -b images/green-screen.jpg
und damit wird das output.png von deepbacksub erzeugt, also Kamerabild incl. green screen.

output.png mit OBS einfangen, green screen ersetzen und per Start Virtual Camera an Skype weitergeben. Und dann fängt in Skype das Zucken an, sodaß immer mal wieder der green screen durchhüpft.

Das müsste doch eigentlich passen, oder?

jickel

(Themenstarter)

Anmeldungsdatum:
9. Mai 2010

Beiträge: 142

Also irgendwie versteh ich da was nicht....

options v4l2loopback devices=1 video_nr=13 card_label="OBS Virtual Camera"    exclusive_caps=1
erzeugt neben video0 auch video13
OBS wird bei Skype auch angezeigt als Auswahl neben der Kamera

Aber ich wollte eine zusätzliche virtuelle video haben und somit
options v4l2loopback devices=2 video_nr=5,13 max_buffers=2 exclusive_caps=1,1 card_label="VirtualCam","OBS Virtual Camera"
Neben video0 ist jetzt auch video5 und video13 unter /dev vorhanden, aber in Skype wird nur virtualcam angezeigt.
Ich wollte mit video5 das output.png über video5 ausgeben und dann per video13(also auswahl bei skype) ausgeben um mal zu schauen, ob das funktioniert. Aber warum wird nur Virtualcam bei Skype angezeigt und nicht OBS?

jickel

(Themenstarter)

Anmeldungsdatum:
9. Mai 2010

Beiträge: 142

Das ist schon interessant.....

Hiermit
options v4l2loopback devices=2 video_nr=5,13 max_buffers=2 exclusive_caps=1,1 card_label="VirtualCam","OBS Virtual Camera"
erscheinen zusätzlich, wie schon erwähnt unter /dev sowohl video5, als auch video 15

Benutze ich mit dem Befehl, 
./deepseg -d -d -c /dev/video0 -v /dev/video5 -b images/green-screen.jpg
das virtual device 5, fange das output.png-Kamerabild per OBS ein und starte die Virtual cam von OBS, dann wird auch, wenn auch mit flackern, der durch OBS eingespielte background angezeigt.
VirtualCam wird unter Skype angezeigt.

Benutze ich mit dem Befehl, 
./deepseg -d -d -c /dev/video0 -v /dev/video13 -b images/green-screen.jpg
das virtual device 13, fange es per OBS ein und starte die Virtual cam von OBS, dann passiert nix in Skype.
OBS Virtual Camera wird unter Skype angezeigt.

Spooky1966

Anmeldungsdatum:
28. Februar 2021

Beiträge: 40

mach mal

obs abschalten oder neustart

sudo modprobe v4l2loopback devices=2

ffmpeg -i /dev/video0 -i /home/user/example.png -filter_complex " [0:v][1] overlay=400:400:enable='gte(t,3)'" -f v4l2 -pix_fmt yuv420p /dev/video1

diesen prozess laufen lassen und in einer neuen konsole

mpv av://video4linux2:/dev/video1

example.png musst du natürlich ersetzen mit deinem bild

zu erklärung -i ist input also -i exampe.png -i /dev/video0 >>> nach /dev/video1

bei mir funkt das

Spooky1966

Anmeldungsdatum:
28. Februar 2021

Beiträge: 40

jickel schrieb:

Nicht, daß ich nicht auf deinen Vorschlag eingehen möchte....vermutlich habe ich mich nicht richtig ausgedrückt?

Ich erklär einfach mal:

ls /dev/ | grep video
zeigt

video0
video13 

an.

video13 wird von der OBS Installation erzeugt mit 
options v4l2loopback devices=1 video_nr=13 card_label='OBS Virtual Camera'exclusive_caps=1


sudo modprobe v4l2loopback devices=1 max_buffers=2 exclusive_caps=1 card_label="VirtualCam" 
brauch ich eigentlich gar nicht, oder?
Denn deepbacksub-0.2.0 starte ich mit
./deepseg -d -d -c /dev/video0 -v /dev/video13 -b images/green-screen.jpg
und damit wird das output.png von deepbacksub erzeugt, also Kamerabild incl. green screen.

output.png mit OBS einfangen, green screen ersetzen und per Start Virtual Camera an Skype weitergeben. Und dann fängt in Skype das Zucken an, sodaß immer mal wieder der green screen durchhüpft.

Das müsste doch eigentlich passen, oder?

kann ich dir nicht sagen obs kenn ich nicht!!! theoretisch richtig ja, versteh anscheined dein anliegen nicht ich dachte du willst bild im bild

jickel

(Themenstarter)

Anmeldungsdatum:
9. Mai 2010

Beiträge: 142

Habe mich auch bei OBS eingeklinkt. Mal sehn, was die so für Ideen haben.........Kann ja dann, wenns substantiell ist, auch hierher verlinken bei Gelegenheit.

jickel

(Themenstarter)

Anmeldungsdatum:
9. Mai 2010

Beiträge: 142

Dein Vorschlag von " 19. März 2021 08:53 " funktioniert übrigens auch bei mir.