>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
C-plus-plus

So zeigen Sie Tastatur- und Gamepad-Eingaben sauber in Ihrem OBS-Studio-Stream an

logo

Als ich meine ersten Screencasts aufnahm, in denen ich die Tastenkürzel in meinem Code-Editor erklärte, dachte ich immer wieder: Die Zuschauer haben keine Ahnung, was ich tatsächlich drücke. Ich musste entweder jede Kombination wie Ctrl+Shift+P laut ansagen oder während der Nachbearbeitung manuell Hinweis-Overlays einzeichnen. Nicht ideal, besonders wenn das Video eine halbe Stunde dauert.

Gamer und Speedrunner haben dieses Problem noch häufiger. Timing für Gamepad-Drücke oder Bunny-Hop-Mechaniken in einem Shooter ohne visuelles Overlay darzustellen ist praktisch unmöglich.

Normalerweise werden solche Aufgaben mit Workarounds gelöst: Ein Drittanbieter-Tool in einem separaten Fenster starten und es in OBS per Fensteraufnahme mit Color-Key erfassen. Das beansprucht zusätzliche CPU-Ressourcen und sieht unordentlich aus. Das input-overlay-Plugin von Entwickler univrsal löst das anders. Es integriert sich direkt in OBS Studio als native Quelle.

Was dieses Plugin kann

Das Projekt ist in C++ geschrieben und läuft auf 64-Bit-Versionen von Windows und Linux. Seine Aufgabe ist einfach: Eingaben von Geräten abfangen und in Echtzeit mit minimaler Latenz über der Szene darstellen.

Unterstützte Geräte umfassen:

  • Standard-Tastaturen (mit Unterstützung für beliebige Layouts und Modifikatoren)
  • Mäuse (Erkennung von Tasten, Scrollrad und Cursorbewegung)
  • Gamepads und Controller (Xbox, PlayStation, universelle DirectInput/XInput-Geräte)

Statt eines primitiven Textprotokolls verwendet das Plugin benutzerdefinierte Texturen und Sprites. Sie nehmen ein Bild eines Gamepads oder einer Tastatur, teilen es in Zustände (Taste losgelassen / Taste gedrückt) auf und binden die Grafiken an Systemereignisse.

Was drin steckt: Architektur und Abhängigkeiten

Die Codebasis des Projekts enthält mehrere interessante Lösungen. Um das Rad nicht für jeden Gerätetyp neu zu erfinden, bündelt der Autor bewährte Low-Level-Bibliotheken.

Für die globale Abfangung von Tastatur- und Mauseingaben verwendet es libuiohook. Diese Bibliothek arbeitet auf der Ebene der Betriebssystem-Hooks, was es ermöglicht, Eingaben selbst dann zu erfassen, wenn das OBS-Fenster im Hintergrund läuft oder ein Spiel im Vollbildmodus läuft.

Gamepads werden von SDL2 verwaltet. Das garantiert exzellente Kompatibilität mit Controllern verschiedener Generationen, ohne sich mit rohen Geräte-Deskriptoren herumschlagen zu müssen.

Die mongoose-Integration verdient besondere Aufmerksamkeit — ein leichtgewichtiger eingebetteter Webserver. Warum braucht ein Tastaturabfang-Plugin einen solchen? Wenn Sie von zwei Computern streamen (einen zum Spielen, den anderen als Streaming-Encoder), können Sie Eingabeereignisse über das lokale Netzwerk vom Gaming-PC direkt an die OBS-Instanz auf der Streaming-Maschine senden. Ein sehr cleveres Feature, das Kabelsalat vermeidet.

So erstellen Sie Ihr eigenes Overlay

Die Plugin-Konfiguration besteht aus zwei Dateien: einer PNG-Grafiktextur und einer JSON-Layoutdatei.

Zuvor verwendete das Projekt das .ini-Format, ist aber schließlich auf JSON umgestiegen. Damit Sie Pixelkoordinaten für Tasten nicht in einem Texteditor berechnen müssen, hat der Autor einen visuellen Web-Editor namens Config Creation Tool (CCT) veröffentlicht.

Sie laden Ihr Sprite-Sheet im Browser hoch, platzieren Begrenzungsrahmen über den Tasten, verknüpfen sie mit Keycodes und exportieren die fertige Konfiguration:

Anschließend fügen Sie einfach eine neue „Input Overlay"-Quelle in OBS Studio hinzu, verweisen auf die JSON- und PNG-Datei, und das Widget ist einsatzbereit. Das Plugin rendert Texturen über OBS' Grafik-Pipeline, sodass der Rendering-Overhead praktisch null ist.

Wo dies für Entwickler nützlich ist

Es könnte wie ein reines Streaming-Tool wirken. Aber für technische Inhalte ist es genauso nützlich:

  1. Educational Screencasts aufnehmen. Tastenkürzel in Vim, Emacs, Blender oder VS Code zu demonstrieren hilft Zuschauern, Aktionen im Vorbeigehen nachzuvollziehen, ohne von Pausen abgelenkt zu werden.
  2. Gamepads und Input-Lag testen. Wenn Sie ein Indie-Game oder einen Emulator entwickeln, können Sie mit dem Overlay Controller-Drücke visuell mit den Reaktionen des Charakters auf dem Bildschirm abgleichen.
  3. Präsentationen und Team-Demos. Bei komplexen UI-Szenarien oder Terminal-Utility-Walkthroughs sehen Zuschauer sofort Modifikatoren und Funktionstasten.

Nuancen und Einschränkungen

Die Dokumentation im Repository ist knapp, daher müssen Anfänger eine halbe Stunde damit verbringen, die Sprite-Struktur zu verstehen. Ein poliertes Skin von Grund auf zu erstellen erfordert grundlegende Grafik-Editor-Fähigkeiten.

Denken Sie auch an den Datenschutz. Da Hooks Eingaben global abfangen, zeigt das Overlay während eines Streams oder einer Videoaufzeichnung jede Tastatureingabe getreu an, wenn Sie anfangen, Passwörter oder private Daten zu tippen. Für solche Fälle ist es besser, im Voraus einen Hotkey einzurichten, um die Quelle in OBS zu verbergen.

Das Plugin konzentriert sich auch auf Windows und Linux x64 — macOS-Builds werden nicht offiziell unterstützt.

Lohnt es sich?

Wenn Sie eine saubere, performante Möglichkeit brauchen, Geräteeingaben in OBS ohne Browser-Workarounds und Frame-Einbrüche anzuzeigen, ist input-overlay eine der zuverlässigsten Optionen.

Das Projekt ist seit 2017 aktiv, hat über 4.000 Sterne gesammelt und bewältigt eine spezifische Aufgabe, ohne die Codebase aufzublähen. Vorkompilierte Binärdateien sind im Releases-Tab auf GitHub verfügbar, und fertige Voreinstellungen für Gamepads und Tastaturen finden Sie in den OBS-Project-Foren.

Ähnliche Projekte