Files
streamdock/docs/integrationen.md
2026-04-12 22:50:50 +02:00

5.5 KiB

Integrationen

StreamDock bietet Integrationen mit verschiedenen externen Diensten.


Last.fm

Überblick

Last.fm Scrobbling ermöglicht es, gehörte Titel automatisch im eigenen Last.fm-Profil zu protokollieren.

Voraussetzungen

  1. Last.fm Account unter https://www.last.fm
  2. API-Anwendung erstellen unter https://www.last.fm/api/account/create
  3. API-Key und API-Secret in der .env konfigurieren:
    STREAMDOCK_LASTFM_API_KEY=dein-api-key
    STREAMDOCK_LASTFM_API_SECRET=dein-api-secret
    

Verbindung herstellen

  1. In StreamDock: Einstellungen → Last.fm → Verbinden
  2. Weiterleitung zur Last.fm Autorisierungsseite
  3. Zugriff erlauben → Rückleitung zu StreamDock
  4. Session-Key wird automatisch gespeichert

Funktionsweise

  • Now Playing: Beim Start der Wiedergabe wird der aktuelle Titel an Last.fm gemeldet
  • Scrobble: Nach 10 Sekunden Wiedergabe wird der Titel offiziell gescrobblet
  • Voraussetzung: ICY-Metadaten müssen Interpret und Titel enthalten
  • Stilles Scheitern: Wenn keine Metadaten verfügbar sind, wird kein Fehler geworfen

Technische Details

  • Authentifizierung über Last.fm OAuth 2.0
  • API-Signierung via MD5-Hash (Vorgabe von Last.fm)
  • Session-Key wird in user_settings gespeichert

Radio-Browser

Überblick

Zugriff auf die freie radio-browser.info Datenbank mit über 30.000 Radiosendern weltweit.

Nutzung

  1. Im Menü: Radio-Browser
  2. Suche nach Name, Land oder Genre-Tag
  3. Ergebnisse zeigen: Sendername, Land, Codec, Bitrate, Beliebtheit
  4. Hinzufügen-Button übernimmt den Sender direkt in die eigene Stream-Bibliothek

Features

  • Suche nach Name, Land, Sprache, Tag
  • Sortierung nach Beliebtheit (Stimmen)
  • Automatische Filterung defekter Sender
  • Sender-Metadaten: Favicon, Codec, Bitrate, Votes

Technische Details

  • API-Endpunkt: de1.api.radio-browser.info
  • Keine Authentifizierung erforderlich
  • Ergebnisse werden nicht gecacht (immer aktuell)

Plik

Überblick

Plik ist ein selbst-gehosteter Datei-Sharing-Dienst. StreamDock kann Aufnahmen direkt an eine Plik-Instanz hochladen.

Voraussetzungen

  1. Laufende Plik-Instanz (selbst-gehostet)
  2. Plik API-Key

Konfiguration

In den Benutzer-Einstellungen:

  • Plik Server URL: https://plik.example.com
  • Plik API Key: dein-api-key

Alternativ global über Umgebungsvariablen:

STREAMDOCK_PLIK_URL=https://plik.example.com
STREAMDOCK_PLIK_API_KEY=dein-api-key

Nutzung

  1. Aufnahme auswählen → An Plik senden
  2. Datei wird automatisch per Multipart-Upload übertragen
  3. Download-URL wird zurückgegeben und angezeigt

Technische Details

  • Upload-TTL: 7 Tage (Standard)
  • One-Shot: Deaktiviert (mehrfacher Download möglich)
  • Authentifizierung via X-Plik-Token Header

Ntfy

Überblick

Ntfy ist ein einfacher Push-Benachrichtigungsdienst. StreamDock kann Benachrichtigungen an ein Ntfy-Topic senden.

Konfiguration

In den Benutzer-Einstellungen:

  • Ntfy aktivieren: Checkbox
  • Ntfy Server: Standard https://ntfy.sh (oder eigene Instanz)
  • Ntfy Topic: Frei wählbarer Topic-Name

Global den Standard-Server festlegen:

STREAMDOCK_NTFY_DEFAULT_SERVER=https://ntfy.sh

Events

  • Login-Benachrichtigung
  • Aufnahme gestartet
  • Aufnahme abgeschlossen
  • Aufnahme-Fehler

Nutzung

  1. Ntfy-App auf Smartphone installieren (Android/iOS)
  2. Topic abonnieren
  3. StreamDock sendet automatisch Benachrichtigungen bei konfigurierten Events

E-Mail (SMTP)

Überblick

StreamDock kann Benachrichtigungen per E-Mail über einen SMTP-Server versenden.

Konfiguration

In der .env-Datei:

STREAMDOCK_SMTP_HOST=smtp.example.com
STREAMDOCK_SMTP_PORT=587
STREAMDOCK_SMTP_USER=user@example.com
STREAMDOCK_SMTP_PASSWORD=smtp-passwort
STREAMDOCK_SMTP_FROM=noreply@example.com
STREAMDOCK_SMTP_FROM_NAME=StreamDock

Aktivierung pro Benutzer

In den Benutzer-Einstellungen:

  • E-Mail-Benachrichtigungen aktivieren
  • Empfänger-Adresse eintragen
  • Events auswählen (Login, Aufnahme-Start/Ende/Fehler)

Webhook

Überblick

StreamDock kann HTTP POST Requests mit JSON-Payload an eine beliebige URL senden.

Konfiguration

In den Benutzer-Einstellungen:

  • Webhook aktivieren
  • Webhook-URL eintragen
  • Events auswählen

Payload-Format

{
  "event": "recording_completed",
  "user": "benutzername",
  "message": "Aufnahme 'Mein Stream' wurde abgeschlossen",
  "timestamp": "2026-04-12T20:00:00Z"
}

Einsatzbeispiele

  • Integration mit Discord/Slack über Webhook-URLs
  • Automatisierung mit n8n, Node-RED oder Zapier
  • Eigene Monitoring-Systeme

Video-Proxy (RTMP → HLS)

Überblick

Für RTMP-Streams, die der Browser nicht direkt abspielen kann, bietet StreamDock einen integrierten Video-Proxy, der RTMP in HLS (HTTP Live Streaming) konvertiert.

Voraussetzungen

  • FFmpeg muss im Container verfügbar sein (standardmäßig installiert)

Funktionsweise

  1. StreamDock erkennt automatisch, ob ein Stream einen Proxy benötigt
  2. FFmpeg konvertiert den RTMP-Stream in HLS-Segmente
  3. Der Browser ruft die HLS-Segmente über den internen Proxy ab
  4. HLS.js übernimmt die Wiedergabe im Browser

Technische Details

  • FFmpeg-Konfiguration: -c:v copy -c:a aac -b:a 128k -hls_time 4
  • Sliding Window: 10 Segmente
  • Startwartezeit: bis zu 15 Sekunden für initiale HLS-Playlist
  • Session-basiert: Automatische Bereinigung bei Beenden

Weiter: Sicherheit