Kurzvorstellung: OBS.Ninja

Es wird im Sendegate vermutlich nicht den korrekten Platz geben, um OBS.Ninja vorzustellen. Aber da es im weitesten Sinne mit der Übertragung von Livemedien von Punkt A nach Punkt B zu tun hat, tu ich es mal hier hin.

WICHTIG: Lasst euch nicht durch den Namen auf die falsche Fährte bringen. Der Name OBS.Ninja ist wirklich irreführend. Das Tool hat sich für mich als Audio- und Videoübertragungs-Schweizer-Taschenmesser erwiesen.

Im Prinzip ist alles ganz einfach und braucht nur auf Sender- und Empfängerseite einen Webbrowser.

OBS.Ninja überträgt dann Video und/oder Audio von A nach B und das

  1. sehr latenzarm und
  2. in ausgezeichneter Qualität.

Ein stabiler h264-Videostream mit 10MBit/s Bandbreite, gepaart mit einem 256kbit/s Opus-Audiostream gehen damit einwandfrei, solange die Bandbreite ausreicht. Aber auch schon ein 4MBit/s Videostream sieht ausgezeichnet aus.

Technisch steht WebRTC dahinter und es hält sich ansonsten angenehm im Hintergrund. Es macht eine point-to-point-Verbindung, der Server ist nur für den Verbindungsaufbau da. Falls die direkte Verbindung wegen Firewall o.ä. nicht klappen sollte, routet obs.ninja transparent über einen TURN-Server. Der sitzt in den USA, man kann aber auch seinen eigenen betreiben.

Technisch ist OBS.Ninja wenig klicki-bunti, sondern wird hauptsächlich über Parameter an der URL gesteuert. Steve, der Entwickler, will sich aber jetzt mehr der UX widmen.

Beispiel 1:

Auf Sendeseite in Chrome (da läuft es am besten) folgenden Link öffnen:

https://obs.ninja/?push=BlahFaselTest123 (String frei wählen)

  • Kamera auswählen
  • Audioquelle (mit CTRL/CMD auch mehrere) auswählen
  • Grünen Knopf klicken

Auf Empfängerseite:
https://obs.ninja/?view=BlahFaselTest123 öffnen

Hier werden die Verbindungsparameter etwas dynamisch gehandhabt.

Beispiel 2: (Qualitätsbeispiel)

Auf Senderseite:
https://obs.ninja/?push=BlahFaselTest123&stereo=1

Auf Empfängerseite:
https://obs.ninja/?view=BlahFaselTest123&stereo=1&bandwidth=4500&buffer=100

Das erzeugt einen Videostream mit 4,5MBit/s, gekoppelt mit einem Audiostream mit 256kbit/s Opus Codec. Der Buffer hilft dem A/V-Sync und ist mit 100ms noch klein genug, dass er bei Unterhaltungen nicht stört.

Diese Streams lassen sich dann am Ziel wieder zerlegen, z.B. empfange ich am Mac den Videostream per vom Entwickler zur Verfügung gesteller App (Electron-App, im Prinzip nur ein gekapselter Chrome-Browser, der sich ohne Fenster und ohne Maus gut dazu eignet, Video abzugreifen) und leite den Ton in ein virtuelles Interface, und kann so beide getrennt aufnehmen.

Mehr

OBS.Ninja kann noch mehr, z.B. kann man per URL-Parameter &novideo oder&noaudio auch Video oder Audio einfach weg lassen.

Oder man baut einen Chat-room, über den auch mehrere (bis zu 4) Teilnehmer:innen miteinander Videokonferenzen können. Da sind dann aber die Datenraten evtl. etwas niedriger.

Oder man nutzt es um Screen, Apps oder Browsertabs zu sharen.

Oder oder oder.

Links

Die offizielle Website findet ihr auf obs.ninja, hier findet ihr einiges an Doku über die URL-Parameter, der Entwickler Steve ist im zugehörigen Subreddit sehr aktiv und ist im zugehörigen Discord immer anzutreffen. Und hier ist der OBS.Ninja-Github dazu.

18 Like