So verwandeln Sie ein altes Android-Smartphone in eine gestochen scharfe Webcam für Windows – ohne Werbung oder Wasserzeichen
Eine anständige externe Webcam zu kaufen ist heutzutage ein fragwürdiges Vergnügen. Modelle im unteren Preissegment liefern unscharfe 720p-Bilder mit furchtbarer Dynamik, während ordentliche Optionen wie Logitech-Lösungen unverschämt viel kosten. Dabei haben die meisten von uns ein altes Smartphone in der Schublade liegen, dessen Optik und Sensor jede Büro-Webcam in den Schatten stellen.
Normalerweise stößt man bei dem Versuch, ein Smartphone als Webcam zu nutzen, auf proprietäre Software wie DroidCam oder Iriun. Die kostenlosen Versionen begrenzen entweder die Auflösung, platzieren Wasserzeichen direkt über dem Video oder zeigen ständig Werbung an. kürzlich habe ich ein Open-Source-Projekt namens VCamdroid entdeckt, dessen Entwickler dieses Problem direkt gelöst haben – ohne unnötigen kommerziellen Schnickschnack.
Was steckt unter der Haube
Das Projekt besteht aus zwei Teilen: einer Kotlin-Android-App und einem C++-Windows-Client. Das Funktionsprinzip ist ziemlich elegant.
Das Smartphone erfasst den Stream über die Camera2 API, verarbeitet Frames on-the-fly durch OpenGL-Shader (Drehung, Spiegelung, Farb- und Belichtungskorrektur passieren dort) und leitet das Ergebnis an den MediaCodec-Hardware-Encoder in H.264 oder H.265 weiter. Die RootEncoder-Bibliothek kümmert sich um das Verpacken des Video-Streams in RTP, danach startet das Smartphone einen RTSP-Server.
Auf der Windows-Seite verbindet sich der Client über FFmpeg mit dem Stream, dekodiert die Frames und sendet sie an ein virtuelles DirectShow-Gerät. Dafür wird die Softcam-Bibliothek verwendet, die den softcam.dll Treiber registriert. Jedes Programm auf dem PC – ob OBS, Zoom, Telegram oder Discord – sieht das Smartphone wie eine normale physische USB-Webcam.
Kabelgebundene und kabellose Verbindung
Es gibt zwei Möglichkeiten, den Video-Stream zu übertragen:
- Über WLAN. Computer und Smartphone müssen sich im gleichen Subnetz befinden. Öffnen Sie den Connect-Tab im Desktop-Client, um einen QR-Code anzuzeigen, richten Sie die Smartphone-Kamera darauf, bestätigen Sie die Verbindung, und die Übertragung beginnt.
- Über USB per ADB. Dies ist das Haupt- und zuverlässigste Szenario. Über Kabel ist die Latenz minimal und das Signal leidet nicht unter einem mit Nachbar-Routern überladenen 2,4-GHz-Band.
Interessantes technisches Detail: Das ADB-Tool kann Ports nur über TCP weiterleiten. Standardmäßig schickt RTSP RTP-Pakete oft über UDP, aber hier wird der Stream strikt über TCP Interleaved Mode getunnelt. Das ergibt einen stabilen Kanal direkt durch localhost ohne Paketverlust.
Was dieses Projekt in der Praxis interessant macht
Im Gegensatz zu klobigen Lösungen lässt sich VCamdroid schnell einrichten und erfordert keine Accounts.
Hier ist, was die Kombination kann:
- Zwischen Front- und Rückkamera-Modulen direkt vom PC aus während eines Anrufs wechseln.
- Die Taschenlampe, Zoom, Belichtung und Weißabgleich steuern.
- Hardware-beschleunigte Bildverarbeitung auf der GPU des Smartphones, sodass der Prozessor des Computers kaum belastet wird.
- Mehrere Smartphones gleichzeitig verbinden. Sie können ein Smartphone für eine Totale aufhängen, das zweite auf Ihr Gesicht richten und zwischen beiden wechseln.
Das Bild ist sauber, mit echten 1080p und 60 fps, wenn der Sensor Ihres Smartphones dies unterstützt.
Schnellstart
Sie brauchen Windows 10 oder 11 auf dem PC und Android 7.0 oder neuer auf dem Smartphone.
Richten Sie zunächst Windows ein:
- Laden Sie das Archiv von der Releases-Seite des Repositories herunter.
- Entpacken Sie es und führen Sie
install.batals Administrator aus. Dieses Skript registriert den DirectShow-Filter im System. - Erlauben Sie der App im Windows-Firewall-Fenster den Zugriff für sowohl private als auch öffentliche Netzwerke.
Installieren Sie anschließend den Client auf dem Smartphone:
- Aktivieren Sie den Entwicklermodus auf Android (tippen Sie siebenmal auf die Build-Nummer in den Smartphone-Einstellungen) und schalten Sie den USB-Debugging-Schalter ein.
- Verbinden Sie das Smartphone per Kabel mit dem Computer und führen Sie das
install_apk.batSkript aus. Es pusht die APK automatisch über ADB auf das Gerät.
Danach öffnen Sie VCamdroid auf dem Computer, starten die App auf dem Smartphone, und sie finden sich automatisch über das Kabel.
Aus dem Quellcode bauen
Wenn Sie sich in den Code vertiefen oder eine Funktion hinzufügen möchten, lässt sich das Projekt mit Standard-Tools bauen.
Für den Android-Teil brauchen Sie eine frische Android Studio. Die gesamte Erfassungs- und Streaming-Logik ist im android/ Verzeichnis gebündelt.
Für den Windows-Client brauchen Sie Visual Studio und den vcpkg-Paketmanager. Abhängigkeiten werden mit einem Befehl eingebunden:
vcpkg install wxwidgets:x64-windows ffmpeg:x64-windows
vcpkg integrate install
Dann bauen Sie die softcam Bibliothek, öffnen windows/VCamdroid.sln, wählen die Release x64-Konfiguration und kompilieren das Projekt.
Einschränkungen und raue Kanten
Das Projekt hat etwa 400 Sterne auf GitHub, und der Code ist stellenweise noch relativ frisch. Wenn Sie eine seltene oder spezifische Android-Firmware haben, könnte sich MediaCodec instabil verhalten.
Manchmal blockiert die Windows-Firewall RTSP-Traffic stillschweigend bei der Arbeit über WLAN. In diesem Fall müssen Sie sich manuell in die Defender-Einstellungen einarbeiten oder Pings über adb shell ping prüfen. Beachten Sie auch, dass der DirectShow-Filter aktuelle Visual C++ Redistributable-Bibliotheken auf dem PC erfordert, andernfalls stürzt die App einfach ab, ohne eine aussagekräftige Fehlermeldung.
VCamdroid ist perfekt für alle, die von der Qualität integrierter Laptop-Webcams genervt sind oder kein Geld für separate Optik für gelegentliche Anrufe ausgeben möchten. Das Projekt ist völlig kostenlos, Open-Source unter der MIT-Lizenz, ohne zeitliche Einschränkungen und ohne Wasserzeichen. Wenn Sie ein altes Smartphone mit einer ordentlichen Kamera haben, das irgendwo verstaubt, ist das eine großartige Möglichkeit, es wieder in Betrieb zu nehmen.
Ähnliche Projekte