WICHTIG: Linux & Android only!

Was ist es & was kann es

Ein altes Smartphone hat meist eine bessere Kamera, als eine aktuelle Webcam. Daher bietet es sich an dem Smartphone ein zweites oder drittes oder gar viertes Leben zu verschaffen. Nämlich als Webcam, auf die jeder neidisch sein wird.

Das zentrale Tool hierbei ist scrscpy oder auf neudeutsch “Screen Copy”.

Eigentlich ist das ein geniales Tool mit dem man per USB-Kabel oder Netzwerk die Oberfläche eines Android Smartphones auf dem Computer spiegeln UND bedienen kann. Das geht unter Linux, Windows und Mac.

Aber weil Linux Linux ist, kann mithilfe der v4l2 Tools dieses Android Smartphone unter Linux auch als exzellente Webcam benutzt werden.

Android App - Open Camera

Ich benutze hierbei noch die Open-Source Android App Open Camera, weil ich hier auch noch alle Elemente aus der Foto-App ausblenden kann. Die App bekommst du im G00gle Playstore oder bei F-Droid. (Siehe unten bei den Quellen).

Android Smartphone Vorbereitung: USB-Debugging

Das Android Smartphone muss die Entwickleroption “USB Debug” aktiviert haben. Das geht bei unterschiedlichen Smartphones eventuell unterschiedlich, aber der generelle Weg sollte so aussehen:

Um die USB-Debugging-Option in den Entwickleroptionen auf einem Android-Gerät zu aktivieren, gehe zu den Einstellungen > Über das Telefon > Build-Nummer und tippe siebenmal darauf, um die Entwickleroptionen zu aktivieren, dann gehe zu den Einstellungen > Entwickleroptionen und aktiviere USB-Debugging.

Dann schließe das Telefon an den Computer an. Je nach Hersteller muss das Telefon von “nur laden” auf “Dateitransfer” umgeschaltet werden. Oder irgendwelche Sicherheitsvorkehrungen des Herstellers deaktiviert werden, die das USB-Debugging verhindern wollen.

Benötigte Software adb & v4l2 (einmalig)

Damit alles auch wirklich funktionieren kann, müssen folgende Pakete installiert sein (Kubuntu). ADB sind die Tools zum Zugriff auf das Smartphone und v4l2 die Tools für die virtuelle Kamera.

sudo apt install adb v4l-utils v4l2loopback-utils v4l2loopback-dkms

Das Smartphone jetzt anschließen. Es sollte nun eine Meldung auf dem Smartphone erscheinen, ob dem Smartphone getraut (trust) werden sollte. Hier auch die Option “Von diesem Computer immer zulassen” anklicken, so dass man das nicht jedes Mal aufs Neue machen muss.

Auf der Konsole mit folgendem Befehl kann geprüft werden, ob das auch ordentlich geklappt hat

adb devices

Wenn alles geklappt hat, dann erfolgt zum Beispiel so eine Ausgabe

List of devices attached
a2342234        device

Wenn statt device unauthorized steht, dann hat irgendetwas auf dem Smartphone nicht geklappt. Eventuell einfach das USB Kabel entfernen und nochmal neu anschließen.

Zum Laden des Kernel Moduls entweder folgenden Befehl eingeben

sudo modprobe v4l2loopback 

oder, wenn Applikationen, wie z.B. Chrome/WebRTC/Element, die neue virtuelle Kamera mit scrscpy nicht erkennen, dann das Kernelmodul mit dem Parameter exclusive_caps=1 laden !

sudo modprobe v4l2loopback exclusive_caps=1

Um zu prüfen ob und welches Loopback Device hierfür genommen wurde kann mit folgenden Befehlen geprüft werden. Die Ausgabe ist dann das entsprechende Device

ls -1 /sys/devices/virtual/video4linux

Ausgabe z.B.: video6

Oder auch mit

v4l2-ctl --list-devices

Ausgabe z.B.

Dummy video device (0x0000) (platform:v4l2loopback-000):
        /dev/video6

Beim Systemstart automatisch laden / Permament

Um das Modul bei jedem Systemstart automatisch zu starten (Ubuntu), muss im Verzeichniss /etc/modules.d/ eine Datei angelegt werden, die du z.B. smartphonecam.conf nennen kannst, der Name ist frei wählbar und in diese Datei schreibst du dann den Modulaufruf rein. OHNE modprobe oder insmod. Zum Beispiel mit Kommentaren am Anfang könnte sie so aussehen:

# Modulzur Verwendung des Smartphones als Webcam
# Aufruf mit scrscpy
v4l2loopback exclusive_caps=1

Das kann man machen, aber man kann den modprobe aufruf auch direkt in dem Script zum Aufrufen von scrscpy hineinschreiben und bleibt somit sehr flexibel.

Weiteres Troubleshooting und mehr Optionen wie z.B. Parameteränderungen auch zur Laufzeit zu v4l2 hier

WICHTIG: Aktuelles scrscpy !!!!

Unbedingt die Version von scrscpy prüfen! Meist wird eine uralte Version v1.25 ausgeliefert. Zum Zeitpunkt des Artikels (04/2026) ist jedoch die Version v3.3.4 aktuell.

Ich habe es mir angewöhnt solche Tools in ein extra /home/USER/Programme/scrscpy Verzeichnis zu legen, um mein System nicht mit quer installierten Programmen update unfähig zu machen.

Wenn alles bis hier hin gut verlaufen und das Kernelmodul geladen ist, kann mit scrscpy nun die virtuelle Webcam angelegt werden.

ACHTUNG: Entsprechend der eigenen Konfiguration das richtige Video Device benutzen! Vorsicht bei Copy’n’Paste! Ich benutze hier video6 !!

Da ich scrscpy in meinem Programme /home/USER/Programme/scrscpy Verzeichnis habe und auch in der Konsole in diesen Ordner gewechselt bin, muss das dort lokal liegende scrscpy mit ./ aufgerufen werden, da das System sonst die alte installierte Version aus /usr/bin ... benutzt.

Virtuelle Kamera wird erzeugt und das Display des Smartphones wird auf dem aktuellen Desktop angezeigt.

./scrcpy --v4l2-sink=/dev/video6

Man kann vollständig mit dem Display des Smartphones auf dem Desktop interagieren. Auch Copy’n’Paste von und zu funktioniert vollständig. Die rechte Maustaste fungiert hier als “Zurück/Back”.

Ohne das Display Window auf dem Desktop anzuzeigen

./scrcpy --v4l2-sink=/dev/video6 --no-video-playback 

Vor jeder Nutzung des Smartphones als Webcam muss scrscpy entsprechend ausgeführt werden. Und am besten vor dem Programmstart des Programmes, das die Webcam nutzen soll.

Aber da ist noch viel mehr!

In aller Kürze sieht so mein Aufruf des Programms als Webcam aus

"/home/odo/Programme/scrcpy-linux-x86_64-v3.3.4/scrcpy" --v4l2-sink=/dev/video6 --orientation=0 --turn-screen-off --stay-awake --power-off-on-close --start-app=net.sourceforge.opencamera --no-video-playback 

Und wenn ich das Smartphone als Fullscreen Applikation haben will, dann lasse ich das --no-video-playback weg und setze dafür ein -f ein.

"/home/odo/Programme/scrcpy-linux-x86_64-v3.3.4/scrcpy" --v4l2-sink=/dev/video6 --orientation=0 --turn-screen-off --stay-awake --power-off-on-close --start-app=net.sourceforge.opencamera -f

Der Befehl macht Folgendes:

  1. "/home/odo/Programme/scrcpy-linux-x86_64-v3.3.4/scrcpy" = benutzt das lokale und aktuelle scrscpy
  2. --v4l2-sink=/dev/video6 = erstellt die virtuelle Kamera auf video6
  3. --orientation=0 = Display folgt der Drehung der Kamera
  4. --turn-screen-off = das Smartphone Display wird ausgeschaltet. Braucht weniger Strom und wird nicht heiß
  5. --stay-awake = das Smartphone geht nicht auf Standby
  6. --power-off-on-close = beim Abziehen des Kabels geht das Smartphone in Standby
  7. --start-app=net.sourceforge.opencamera = die App Open Camera wird automatisch gestartet
  8. -f = Fullscreen … oder
  9. --no-video-playback = … alternativ kein Display auf dem Desktop

Rundum Sorglos Paket

Wie oben beschrieben, muss das Kernel Modul nicht unbedingt beim Start geladen werden, wenn man das Smartphone nicht ständig angeschlossen haben will, oder es nur ab und zu braucht. So kann dann das Script bei Bedarf aufgerufen werden. Ich bevorzuge dann auch, dass ich das Display auf dem Monitor sehe, da ich dann mit der Maus die Open Camera Application bedienen kann. Um zum Beispiel rein zu zoomen, oder die Belichtung zu arretieren, oder den Autofokus ein oder auszuschalten, oder oder oder.

Und so sieht dann mein komplettes Bash Script smartphonecam.sh aus:

#!/bin/bash
# Beschreibung: Video Loopback erstellen & scrscpy Aufruf
# Letzte Änderung: 14.04.2026
# Autor: hoergen

# Kernelmodul laden als root - Passwort eingeben
sudo modprobe v4l2loopback exclusive_caps=1

# Auflistung der V4l2 Devices
v4l2-ctl --list-devices

# Warten und Ausgabe prüfen - irgendeine Taste drücken
read -n 1 -p Continue?

# scrscpy programmstart ohne fullscreen
"/home/odo/Programme/scrcpy-linux-x86_64-v3.3.4/scrcpy" --v4l2-sink=/dev/video6 --orientation=0 --turn-screen-off --stay-awake --power-off-on-close --start-app=net.sourceforge.opencamera 

Aufgerufen wird es entweder mit bash ./smartphonecam.sh oder das Script wird mit chmod +x smartphonecam.sh ausführbar gemacht und ist dann mit ./smartphonecam.sh direkt ausführbar.

Weitere sehr nützliche Parameter/Commands

Die Liste der installierten Apps auf dem Smartphone wird mit diesem Befehl ermittelt

scrcpy --list-apps

Ausgabe ist dann z.B. unter anderem

- Open Camera                    net.sourceforge.opencamera

Stay Awake

scrcpy --turn-screen-off --stay-awake
scrcpy -Sw   # short version

Start App
This feature can be used to run an app in a virtual display:

scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc

Show touches

scrcpy --show-touches
scrcpy -t   # short version

Power off on close
To turn the device screen off when closing scrcpy:

scrcpy --power-off-on-close

PS: Danke Johannes für die Typo Meldung!

Quellen

  1. Open Camera G00gle Playstore / F-Droid Store / Website
  2. scrscpy Github Home
  3. scrscpy deutschsprachige Tipps&Tricks und Hilfe Seite
  4. scrscpy Einrichten als Linux Webcam
  5. scrscpy Shortcuts
  6. Video4Linux Wikipedia / Website