Spiele mehrere Videos als durchgehenden Livestream ab — mit automatischen Bumpern und Crossfades — oder gehe direkt mit Kamera, Capture-Karte, Bildschirm oder NDI live. Inklusive lokalem Monitoring und Bandbreiten-Dashboard.
Zwei Streaming-Modi, vollständige YouTube-Anbindung, technisches Monitoring — ohne externe Tools.
Mehrere Videos zu einem durchgehenden Livestream zusammenspielen. Clips werden automatisch in ein einheitliches Format normalisiert.
Kurze Bumper automatisch zwischen den Videos einspielen und weiche Überblendungen (xfade) zwischen Clips erzeugen.
Kamera & Capture-Karten, Bildschirm/Fenster oder NDI-Netzwerkquellen — Gerät wählen und auf „Livestream" klicken.
Anmelden, Broadcast samt aller Metadaten anlegen, binden und live schalten — Ingest-URL und Stream-Key werden automatisch gesetzt.
Vorschau der Quelle und des laufenden Streams direkt in der App — funktioniert auch komplett ohne YouTube-Anmeldung.
Benötigte vs. verfügbare Upload-Bandbreite als Ampel, dazu Encoder-Bitrate, FPS, Speed und Dropped Frames in Echtzeit.
Playlist-Editor und Livequellen-Monitoring stehen auch ohne Login bereit. Ein manuelles RTMP-Ziel lässt sich frei eintragen.
Ein einziger Encode, per tee-Muxer gleichzeitig an YouTube (RTMP) und den lokalen Monitor — schont CPU und Bandbreite.
Vier Arbeitsbereiche, eine klare dunkle Oberfläche.
FFmpeg encodiert einmal und verteilt gleichzeitig an YouTube und den lokalen Monitor.
Live-Eingang oder normalisierte Playlist (concat / xfade).
H.264 / AAC mit einstellbarer Auflösung, FPS und Bitrate.
Ein Encode → RTMP(S) an YouTube und MPEG-TS lokal.
Lokaler Feed im Fenster + Bitrate / Speed / Drops aus FFmpeg.
Voraussetzungen: Node.js ≥ 18. FFmpeg ist eingebunden (kein System-FFmpeg nötig).
# Repository klonen und Abhängigkeiten installieren
git clone https://github.com/fmatsch/YTlive.git
cd YTlive
npm install
# App im Entwicklungsmodus starten
npm run dev
# macOS (.dmg, arm64 + x64)
npm run package:mac
# Windows (NSIS .exe)
npm run package:win
NDI darf nicht mit FFmpeg mitgeliefert werden. Über zwei Umgebungsvariablen wird eine eigene Bridge eingebunden:
export YTLIVE_NDI_FINDER=/pfad/finder
export YTLIVE_NDI_BRIDGE=/pfad/bridge
Ohne diese funktionieren Kamera, Capture-Karte und Bildschirm unverändert.
Beim Anlegen eines Broadcasts setzt die App diese Felder direkt über die YouTube Live Streaming API.
| Metadaten | Titel, Beschreibung, Tags, Kategorie, geplanter Start-/Endzeitpunkt, eigenes Thumbnail |
| Sichtbarkeit | öffentlich · nicht gelistet · privat · „Für Kinder gemacht" |
| Latenz | normal · niedrig · ultra-niedrig |
| Technik | Auto-Start, Auto-Stop, DVR (Zurückspulen), Einbetten erlauben, ab Start aufzeichnen, Untertitel, Monitor-Stream + Stream-Verzögerung |
| Stream / CDN | Auflösung & Framerate → liefert Ingest-URL und Stream-Key zurück, die automatisch an FFmpeg übergeben werden |
safeStorage) gespeichert.