Discourse Video Stream 🎥

Discourse Video Stream fügt eine nahtlose Cloudflare Stream-Integration hinzu, um hochqualitative, langformatige Videoinhalte und Live-Streaming auf Ihrer Discourse-Seite hochzuladen und einzubetten.

Übersicht

Dieses Plugin bietet einen kompletten Workflow für die Verarbeitung großer Videodateien mit adaptiver Bitraten-Übertragung, sodass Ihre Benutzer Videos direkt aus dem Komponisten hochladen und sie mit automatischer Qualitätsanpassung basierend auf ihren Netzwerkbedingungen wiedergeben können. Es unterstützt auch die Erstellung von Live-Streams mit RTMPS-Übertragung.

Hauptmerkmale

  • :clapper_board: Komponisten-Integration: Optionale Symbolleistenschaltfläche für direkte Video-Uploads aus dem Komponisten
  • :outbox_tray: Automatische Upload-Abfangen: Videos, die eine konfigurierbare Größen-Schwelle überschreiten, werden automatisch an Cloudflare Stream hochgeladen, anstatt im lokalen Speicher gespeichert zu werden
  • :high_voltage: Wiederaufnehmbare Uploads: Basiert auf tus-js-client für zuverlässige Uploads von Dateien weit über 200 MB mit automatischem Wiederaufnehmen bei Verbindungsproblemen
  • :locked: Sicherer Proxy: Serverseitiger Endpunkt generiert kurzlebige Cloudflare Stream-Upload-URLs, um Ihre API-Anmeldeinformationen sicher aufzubewahren
  • :satellite_antenna: Live-Streaming: Erstellen Sie Live-Streams mit RTMPS-Übertragung direkt aus dem Komponisten
  • :movie_camera: Benutzerdefiniertes BBCode: Einfache [video-stream id=\"...\"]-Syntax zum Einbetten von Videos
  • :television: Adaptive Übertragung: Shaka Player-Integration mit DASH-Manifesten für reibungslose Wiedergabe bei unterschiedlichen Netzwerkgeschwindigkeiten
  • :gear: Wiedergabesteuerung: Eingebautes UI zur Auswahl der Auflösung und Steuerung der Wiedergabegeschwindigkeit

Installation

Fügen Sie das Plugin zu Ihrer app.yml hinzu:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/xfalcox/discourse-video-stream.git

Bauen Sie dann Ihren Container neu:

./launcher rebuild app

Konfiguration

Navigieren Sie zu Admin → Einstellungen → Video-Streaming und konfigurieren Sie:

Einstellung Beschreibung Standard
video_stream_enabled Aktiviert das Video-Streaming-Plugin false
video_stream_account_id Ihre Cloudflare-Kontokennung -
video_stream_api_token API-Token mit Stream:Edit-Berechtigungen -
video_stream_customer_subdomain Ihre Cloudflare Stream-Domain (z.B. customer-xxxxx.cloudflarestream.com) -
video_stream_allowed_extensions Durch Kommas getrennte Liste der erlaubten Videoformate mp4,webm,mov
video_stream_max_file_size Maximale Dateigröße in MB (1-2000) 500
video_stream_intercept_native_uploads Fängt große Video-Uploads automatisch ab true
video_stream_intercept_threshold_mb Schwellenwert in MB für die automatische Abfangen (1-2000) 10
video_stream_enable_live_streams Aktiviert die Live-Streaming-Funktion false

Cloudflare Stream-Anmeldeinformationen erhalten

  1. Melden Sie sich bei Ihrem Cloudflare-Dashboard an
  2. Navigieren Sie unter Ihrem Konto zu Stream
  3. Kopieren Sie Ihre Konto-ID aus der Stream-Übersicht
  4. Erstellen Sie ein API-Token mit Stream:Edit-Berechtigungen
  5. Notieren Sie Ihre Kunden-Subdomain aus den Stream-Einstellungen

Verwendung

Nach der Konfiguration haben Benutzer zwei Möglichkeiten, Videos hochzuladen:

Automatische Abfangen

Wenn ein Benutzer eine Videodatei per Drag & Drop zieht oder auswählt, die die Einstellung video_stream_intercept_threshold_mb überschreitet, übernimmt das Plugin die Handhabung automatisch über Cloudflare Stream anstelle des lokalen Speichers. Sie müssen Videoerweiterungen in den Einstellungen für erlaubte Erweiterungen zulassen, damit dies funktioniert.

Manueller Upload

Benutzer können auf das Popup-Menü (:plus:) der Komponisten-Symbolleiste klicken und die Option Video-Upload auswählen, um explizit auf Cloudflare Stream hochzuladen.

Beide Methoden fügen ein [video-stream id="video_id"] BBCode-Tag ein, das als adaptiver Player mit Auflösungs- und Geschwindigkeitssteuerung gerendert wird.

Live-Streaming

Wenn video_stream_enable_live_streams aktiviert ist, können Benutzer Live-Streams erstellen:

  1. Klicken Sie auf das Popup-Menü (:plus:) der Komponisten-Symbolleiste und wählen Sie „Live-Stream erstellen“
  2. Ein Modal generiert RTMPS-Anmeldeinformationen über die Cloudflare Stream API
  3. Kopieren Sie die RTMPS-URL und den Stream-Schlüssel mit den praktischen Kopier-Schaltflächen
  4. Verwenden Sie die Anmeldeinformationen mit OBS, Streamlabs oder jeder RTMPS-kompatiblen Broadcast-Software
  5. Klicken Sie auf „Einbetten einfügen“, um den [video-stream id="…"] BBCode in Ihren Beitrag einzufügen
  6. Beginnen Sie sofort mit der Übertragung

Live-Stream-Funktionen:

  • Automatische Aufzeichnung standardmäßig aktiviert (Streams werden zur späteren Wiedergabe gespeichert)
  • Derselbe adaptive Player funktioniert sowohl für Live- als auch für aufgezeichnete Inhalte
  • Benutzer sehen während des Streamings Live-Inhalte und können sich danach die Aufzeichnung ansehen
  • Sichere Anmeldeinformationsverwaltung mit Warnmeldungen

Warum Cloudflare Stream?

Wir unterstützen die gleiche Funktionalität mit AWS im Code und mit Mux in GitHub - discourse/discourse-video, daher klang eine günstigere Alternative nach einer guten Idee.

Anforderungen

  • Aktives Cloudflare-Konto mit aktiviertem Stream

Quelle & Support

Screenshots

Demo

Besuchen Sie meine Testseite und laden Sie einige Videos hoch

https://discourse-on-a-pi5.falco.dev/t/test-video-upload-plugin/20?u=falco


Hinweis: Dies ist kein #offizielles Plugin.

16 „Gefällt mir“

Update: Live-Streaming-Unterstützung jetzt verfügbar! :satellite_antenna:

Das Plugin unterstützt jetzt Live-Streaming mit RTMPS-Übertragung!

Neuigkeiten:

  • Erstellen Sie Live-Streams direkt über das Menü der Composer-Symbolleiste
  • Erhalten Sie RTMPS-Anmeldeinformationen sofort über die Cloudflare Stream API
  • Streamen Sie mit OBS, Streamlabs oder jeder RTMPS-kompatiblen Software
  • Automatische Aufzeichnung aktiviert – Streams werden zur Wiedergabe gespeichert, nachdem die Übertragung beendet ist
  • Gleiches [video-stream id="..."] BBCode und adaptiver Player für Live- und aufgezeichnete Inhalte

So aktivieren Sie es:
Setzen Sie video_stream_enable_live_streams in Admin → Einstellungen → Video-Streaming auf true

Siehe das aktualisierte OP für vollständige Details zum Live-Streaming-Workflow.

11 „Gefällt mir“

Hallo, sehr schön. Ich arbeite in Film und Fernsehen und wir entwickeln eine medienzentrierte Erfahrung.

Wir verwenden Bunny. Wie einfach wäre es für uns, Endpunkte im Plugin zu ändern, um verschiedene CDNs/Streaming-Plattformen zuzulassen?

3 „Gefällt mir“

Es scheint, dass das Bunny-Angebot dem von Cloudflare sehr ähnlich ist, es sollte einfach sein, Unterstützung dafür hinzuzufügen.

3 „Gefällt mir“

Danke Falco. Ich werde es mir ansehen.

1 „Gefällt mir“