scrcpy im Detail: Android-Spiegelung und Steuerung mit geringer Geräteintegration
Eine technische Erklärung des C-Clients, Java-Servers auf dem Gerät, ADB, getrennter Video-, Audio- und Steuersockets, USB/TCP, Berechtigungen und Apache-2.0 in scrcpy 4.1.
Einordnung und aktuelles Signal
scrcpy ist Genymobiles Werkzeug zur Anzeige und Steuerung von Android über USB oder TCP/IP, mit Hosts unter Linux, Windows und macOS. Das Repository hatte bei der Erfassung rund 146.126 Stars; Version 4.1 ergänzte im Juli unter anderem VP8 und VP9. Weder Root noch eine dauerhaft installierte Telefon-App sind nötig. Grundlage des Zugriffs sind ADB und die vom Nutzer bestätigte Debugging-Berechtigung.
Einsatzfälle und Fähigkeiten
Typische Anwendungen sind echte Geräte während der App-Entwicklung, aufgezeichnete Vorführungen, Bedienung per Tastatur und Maus, Auswahl mehrerer Testgeräte sowie Kamera- und virtuelle Displays. Unterstützt werden Video, Audio ab Android 11, Aufnahme, Zwischenablage in beide Richtungen, Dateiübertragung, virtuelle Displays, HID-Eingabe und Gamepads. Verfügbarkeit hängt von Android-Version, Geräte-Encoder und Hostplattform ab.
Architektur und Funktionsweise
scrcpy besteht aus zwei Teilen: Ein C-Client läuft auf dem Host und überträgt per ADB einen Java-Server auf das Gerät, den er dort startet. Video, Audio und Steuerung nutzen getrennte Sockets; einzelne Medienkanäle können ausbleiben. Das Gerät kodiert den Bildschirm, der Host dekodiert mit FFmpeg und zeigt über SDL an. Frames werden normalerweise sofort dargestellt statt lange gepuffert, um die Interaktionsverzögerung klein zu halten.
Technik und Systemgrenzen
Der Hostcode ist überwiegend C, der Geräteserver Java. ADB, FFmpeg, SDL 3, libusb sowie Meson und Ninja bilden die Umgebung. Eingaben laufen vom Host zum Gerät, Drehung und Bildabmessungen verarbeitet hauptsächlich die Geräteseite. Die Leistung hängt von Hardware-Encoder, Auflösung, Bitrate, USB- oder Wi-Fi-Qualität und Hostdekodierung ab. Beispielwerte aus dem README sind keine Garantie für ein bestimmtes Telefon.