Discourse Video Stream aggiunge l’integrazione perfetta con Cloudflare Stream per caricare e incorporare contenuti video di alta qualità e di lunga durata e lo streaming live nel tuo sito Discourse.
Panoramica
Questo plugin fornisce un flusso di lavoro completo per la gestione di file video di grandi dimensioni con streaming a bitrate adattivo, consentendo agli utenti di caricare video direttamente dal compositore e riprodurli con regolazione automatica della qualità in base alle loro condizioni di rete. Supporta anche la creazione di streaming live con trasmissione RTMPS.
Caratteristiche Principali
Integrazione con il Compositore: Pulsante opzionale della barra degli strumenti per il caricamento diretto di video dal compositore
Intercettazione Automatica dei Caricamenti: I video che superano una soglia di dimensione configurabile vengono caricati automaticamente su Cloudflare Stream anziché sulla memoria locale
Caricamenti Riprendibili: Basato su tus-js-clientper caricamenti affidabili di file ben oltre i 200 MB con ripresa automatica in caso di problemi di connessione
Proxy Sicuro: L’endpoint lato server genera URL di caricamento di Cloudflare Stream di breve durata, mantenendo al sicuro le tue credenziali API
Streaming Live: Crea streaming live con trasmissione RTMPS direttamente dal compositore
BBCode Personalizzato: Semplice sintassi [video-stream id=\"...\"]per incorporare video
Streaming Adattivo: Integrazione con Shaka Player con manifest DASH per una riproduzione fluida su diverse velocità di rete
Controlli di Riproduzione: Interfaccia utente integrata per la selezione della risoluzione e il controllo della velocità di riproduzione
Installazione
Aggiungi il plugin al tuo app.yml:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/xfalcox/discourse-video-stream.git
Quindi ricostruisci il tuo container:
./launcher rebuild app
Configurazione
Naviga su Amministrazione → Impostazioni → Video streaming e configura:
| Impostazione | Descrizione | Predefinito |
|---|---|---|
| video_stream_enabled | Abilita il plugin di streaming video | false |
| video_stream_account_id | Il tuo identificatore di account Cloudflare | - |
| video_stream_api_token | Token API con permessi Stream:Edit | - |
| video_stream_customer_subdomain | Il tuo dominio Cloudflare Stream (es. customer-xxxxx.cloudflarestream.com) | - |
| video_stream_allowed_extensions | Elenco separato da virgole dei formati video consentiti | mp4,webm,mov |
| video_stream_max_file_size | Dimensione massima del file in MB (1-2000) | 500 |
| video_stream_intercept_native_uploads | Intercetta automaticamente i caricamenti video di grandi dimensioni | true |
| video_stream_intercept_threshold_mb | Soglia di dimensione in MB per l’intercettazione automatica (1-2000) | 10 |
| video_stream_enable_live_streams | Abilita la funzione di streaming live | false |
Ottenere le Credenziali di Cloudflare Stream
- Accedi alla tua dashboard Cloudflare
- Naviga su Stream sotto il tuo account
- Copia il tuo Account ID dalla panoramica di Stream
- Crea un token API con i permessi Stream:Edit
- Prendi nota del tuo sottodominio Cliente dalle impostazioni di Stream
Utilizzo
Una volta configurato, gli utenti hanno due modi per caricare video:
Intercettazione Automatica
Quando un utente trascina e rilascia o seleziona un file video che supera l’impostazione video_stream_intercept_threshold_mb, il plugin lo gestisce automaticamente tramite Cloudflare Stream anziché tramite la memoria locale. È necessario consentire le estensioni dei file video nelle impostazioni delle estensioni consentite affinché ciò funzioni.
Caricamento Manuale
Gli utenti possono fare clic sul menu a comparsa della barra degli strumenti del compositore (
) e selezionare l’opzione di caricamento video per caricare esplicitamente su Cloudflare Stream.
Entrambi i metodi inseriscono un tag BBCode [video-stream id=\"video_id\"] che viene renderizzato come un lettore di streaming adattivo con controlli di risoluzione e velocità.
Streaming Live
Quando video_stream_enable_live_streams è abilitato, gli utenti possono creare streaming live:
- Fai clic sul menu a comparsa della barra degli strumenti del compositore (
) e seleziona “Crea streaming live” - Una finestra modale genera credenziali RTMPS tramite l’API di Cloudflare Stream
- Copia l’URL RTMPS e la chiave di streaming utilizzando i comodi pulsanti di copia
- Utilizza le credenziali con OBS, Streamlabs o qualsiasi software di trasmissione compatibile con RTMPS
- Fai clic su “Inserisci incorporamento” per aggiungere il BBCode
[video-stream id=\"...\"]al tuo post - Inizia la trasmissione immediatamente
Caratteristiche dello Streaming Live:
- Registrazione automatica abilitata per impostazione predefinita (gli stream vengono salvati per la riproduzione successiva)
- Lo stesso lettore adattivo funziona sia per i contenuti live che per quelli registrati
- Gli utenti vedono i contenuti live durante lo streaming, quindi possono guardare la registrazione in seguito
- Gestione sicura delle credenziali con messaggi di avviso
Perché Cloudflare Stream?
Abbiamo il supporto per fare lo stesso utilizzando AWS nel codice, e con Mux in GitHub - discourse/discourse-video, quindi un’alternativa più economica sembrava una buona idea.
Requisiti
- Account Cloudflare attivo con Stream abilitato
Sorgente e Supporto
- Repository: GitHub - xfalcox/discourse-video-stream
Screenshot
Demo
Visita il mio sito di prova e carica alcuni video
https://discourse-on-a-pi5.falco.dev/t/test-video-upload-plugin/20?u=falco
Nota: Questo non è un plugin #ufficiale.


