v4l2loopback unter Linux: Einrichtung, Persistenz und typische Fehler

Linux bringt keine virtuelle Kamera mit. Anwendungen öffnen ein Gerät wie /dev/video0 und lesen Bilder daraus, und der Kernel erwartet dahinter echte Hardware. v4l2loopback ist ein Kernelmodul, das ein Gerät erzeugt, das sich wie eine Kamera verhält, aber per Software gespeist wird.

Es ist die Grundlage jedes Workflows mit virtueller Kamera unter Linux: OBS, ffmpeg-Pipelines und CamLooper schreiben alle in ein Loopback-Gerät. So richtest du es sauber ein.

Installation

Installiere das DKMS-Paket, damit das Modul bei jedem Kernel-Update automatisch neu gebaut wird:

# Debian / Ubuntu
sudo apt install v4l2loopback-dkms

# Fedora / RHEL
sudo dnf install v4l2loopback

# Arch
sudo pacman -S v4l2loopback-dkms

DKMS ist hier entscheidend. Ohne es wird das Modul gegen den Kernel kompiliert, den du zum Installationszeitpunkt hattest, und deine virtuelle Kamera hört nach dem nächsten Kernel-Update stillschweigend auf zu funktionieren.

Modul laden

sudo modprobe v4l2loopback

Prüfe, ob das Gerät existiert:

lsmod | grep v4l2loopback
ls -l /dev/video*

Nützliche Optionen beim Laden:

sudo modprobe v4l2loopback \
  devices=1 \
  video_nr=10 \
  card_label="Virtual Camera" \
  exclusive_caps=1
  • video_nr=10 legt das Gerät auf /dev/video10 fest, damit es nicht mit einer echten Webcam kollidiert
  • card_label bestimmt den Namen, den Anwendungen in ihrer Kameraliste anzeigen
  • exclusive_caps=1 ist die entscheidende Option — sie sorgt dafür, dass das Gerät seine Aufnahmefähigkeit nur meldet, wenn etwas hineinschreibt. Chrome, Firefox und mehrere Electron-Anwendungen ignorieren Loopback-Geräte ohne diese Option; deshalb kann eine Kamera in v4l2-ctl sichtbar sein und im Browser trotzdem fehlen

Neustartfest machen

modprobe gilt nur bis zum Neustart. Zwei Dateien machen es dauerhaft:

# /etc/modules-load.d/v4l2loopback.conf
v4l2loopback
# /etc/modprobe.d/v4l2loopback.conf
options v4l2loopback devices=1 video_nr=10 card_label="Virtual Camera" exclusive_caps=1

Die erste lädt das Modul beim Systemstart, die zweite übergibt ihm seine Optionen. Häufig wird nur die erste angelegt — und dann gerätselt, warum die Optionen verschwunden sind.

Ohne jede Anwendung testen

Schiebe mit ffmpeg ein Video in Schleife in das Gerät:

ffmpeg -stream_loop -1 -re -i video.mp4 \
  -f v4l2 -pix_fmt yuv420p /dev/video10

-re gibt den Takt in Echtzeit vor (ohne diese Option schreibt ffmpeg so schnell wie möglich, und das Ergebnis ist unbrauchbar), -stream_loop -1 wiederholt endlos, und yuv420p ist das Pixelformat, das Webcam-Anwendungen erwarten. Öffne eine Webcam-Testseite im Browser — dort sollte das Video zu sehen sein.

Typische Fehler

modprobe: ERROR: could not insert 'v4l2loopback': Required key not available

Secure Boot weist das unsignierte Modul ab. Entweder du hinterlegst einen Machine Owner Key und signierst das Modul, oder du deaktivierst Secure Boot in der Firmware. Distributionen, die eine signierte Fassung des Moduls ausliefern, umgehen das Problem vollständig.

Das Modul baut, aber es erscheint kein /dev/video-Gerät

Sieh direkt nach dem modprobe in dmesg | tail. Eine Versionsabweichung zwischen Modul und laufendem Kernel taucht dort auf — das übliche Zeichen dafür, dass DKMS nach einem Update nicht neu gebaut hat.

Die Kamera existiert, aber Browser sehen sie nicht

Lade das Modul mit exclusive_caps=1. Das ist mit Abstand die häufigste Ursache.

Flatpak-Anwendungen sehen die Kamera nicht

Die Sandbox blockiert den Gerätezugriff, bis du ihn erteilst:

flatpak override --user --device=all com.obsproject.Studio

Das alles überspringen

All das ist eine einmalige Einrichtung, aber es bleibt eine Terminalsitzung samt Neustart, bevor du ein Video als Kamera abspielen kannst — und genau deshalb ist „nimm doch OBS“ unter Linux ein schwierigerer Rat als unter Windows.

Die .deb- und .rpm-Pakete von CamLooper erledigen das für dich. Sie deklarieren v4l2loopback-dkms als Abhängigkeit, legen die oben gezeigten modules-load.d- und modprobe.d-Dateien an und laden das Modul während der Installation. Die Kamera ist also bereit, sobald das Installationsprogramm fertig ist — und nach jedem Neustart erneut. Kein Terminal, kein Neustart, und DKMS hält sie über Kernel-Updates hinweg funktionsfähig.

CamLooper testen

Kostenlos, rein lokal und in unter einer Minute einsatzbereit.

CamLooper herunterladen