Flux vidéo Discourse 🎥

Discourse Video Stream ajoute une intégration transparente avec Cloudflare Stream pour télécharger et intégrer du contenu vidéo de haute qualité et de longue durée et le streaming en direct sur votre site Discourse.

Aperçu

Ce plugin fournit un flux de travail complet pour la gestion de fichiers vidéo volumineux avec streaming adaptatif à débit binaire, permettant à vos utilisateurs de télécharger des vidéos directement depuis le compositeur et de les lire avec un ajustement automatique de la qualité en fonction de leurs conditions réseau. Il prend également en charge la création de flux en direct avec diffusion RTMPS.

Fonctionnalités Clés

  • :clapper_board: IntĂ©gration au Compositeur: Bouton de barre d’outils optionnel pour les tĂ©lĂ©chargements vidĂ©o directs depuis le compositeur
  • :outbox_tray: Interception Automatique des TĂ©lĂ©chargements: Les vidĂ©os dĂ©passant un seuil de taille configurable sont automatiquement tĂ©lĂ©chargĂ©es sur Cloudflare Stream au lieu du stockage local
  • :high_voltage: TĂ©lĂ©chargements Reprenables: BasĂ© sur tus-js-client pour des tĂ©lĂ©chargements fiables de fichiers bien au-delĂ  de 200 Mo avec reprise automatique en cas de problèmes de connexion
  • :locked: Proxy SĂ©curisĂ©: Un point de terminaison cĂ´tĂ© serveur gĂ©nère des URL de tĂ©lĂ©chargement Cloudflare Stream de courte durĂ©e, gardant vos informations d’identification API en sĂ©curitĂ©
  • :satellite_antenna: Streaming en Direct: CrĂ©ez des flux en direct avec diffusion RTMPS directement depuis le compositeur
  • :movie_camera: BBCode PersonnalisĂ©: Syntaxe simple [video-stream id=\"...\"] pour intĂ©grer des vidĂ©os
  • :television: Streaming Adaptatif: IntĂ©gration de Shaka Player avec des manifestes DASH pour une lecture fluide sur diffĂ©rentes vitesses de rĂ©seau
  • :gear: Commandes de Lecture: Interface utilisateur intĂ©grĂ©e pour la sĂ©lection de la rĂ©solution et le contrĂ´le de la vitesse de lecture

Installation

Ajoutez le plugin Ă  votre app.yml:

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

Puis reconstruisez votre conteneur :

./launcher rebuild app

Configuration

Naviguez vers Admin → Paramètres → Video streaming et configurez :

Paramètre Description Défaut
video_stream_enabled Activer le plugin de streaming vidéo false
video_stream_account_id Votre identifiant de compte Cloudflare -
video_stream_api_token Jeton API avec les permissions Stream:Edit -
video_stream_customer_subdomain Votre domaine Cloudflare Stream (ex: customer-xxxxx.cloudflarestream.com) -
video_stream_allowed_extensions Liste des formats vidéo autorisés, séparés par des virgules mp4,webm,mov
video_stream_max_file_size Taille maximale du fichier en Mo (1-2000) 500
video_stream_intercept_native_uploads Intercepter automatiquement les téléchargements vidéo volumineux true
video_stream_intercept_threshold_mb Seuil de taille en Mo pour l’interception automatique (1-2000) 10
video_stream_enable_live_streams Activer la fonctionnalité de streaming en direct false

Obtention des Informations d’Identification Cloudflare Stream

  1. Connectez-vous Ă  votre tableau de bord Cloudflare
  2. Naviguez vers Stream sous votre compte
  3. Copiez votre ID de compte depuis l’aperçu de Stream
  4. Créez un jeton API avec les permissions Stream:Edit
  5. Notez votre sous-domaine client depuis les paramètres de Stream

Utilisation

Une fois configuré, les utilisateurs ont deux façons de télécharger des vidéos :

Interception Automatique

Lorsqu’un utilisateur fait glisser et dépose ou sélectionne un fichier vidéo qui dépasse le paramètre video_stream_intercept_threshold_mb, le plugin le gère automatiquement via Cloudflare Stream au lieu du stockage local. Vous devez autoriser les extensions de fichiers vidéo dans les paramètres d’extension autorisées pour que cela fonctionne.

Téléchargement Manuel

Les utilisateurs peuvent cliquer sur le menu contextuel de la barre d’outils du compositeur (:plus:) et sélectionner l’option de téléchargement vidéo pour télécharger explicitement vers Cloudflare Stream.

Les deux méthodes insèrent une balise BBCode [video-stream id="video_id"] qui se rend comme un lecteur de streaming adaptatif avec des commandes de résolution et de vitesse.

Streaming en Direct

Lorsque video_stream_enable_live_streams est activé, les utilisateurs peuvent créer des flux en direct :

  1. Cliquez sur le menu contextuel de la barre d’outils du compositeur (:plus:) et sélectionnez “Create live stream” (Créer un flux en direct)
  2. Une modale génère des informations d’identification RTMPS via l’API Cloudflare Stream
  3. Copiez l’URL RTMPS et la clé de flux en utilisant les boutons de copie pratiques
  4. Utilisez les informations d’identification avec OBS, Streamlabs ou tout logiciel de diffusion compatible RTMPS
  5. Cliquez sur “Insert embed” (Insérer l’intégration) pour ajouter la balise BBCode [video-stream id="…"] à votre publication
  6. Commencez la diffusion immédiatement

Fonctionnalités du Flux en Direct :

  • Enregistrement automatique activĂ© par dĂ©faut (les flux sont sauvegardĂ©s pour une lecture ultĂ©rieure)
  • Le mĂŞme lecteur adaptatif fonctionne pour le contenu en direct et enregistrĂ©
  • Les utilisateurs voient le contenu en direct pendant le streaming, puis peuvent regarder l’enregistrement par la suite
  • Gestion sĂ©curisĂ©e des informations d’identification avec messages d’avertissement

Pourquoi Cloudflare Stream ?

Nous avons un support pour faire la même chose en utilisant AWS dans le code, et avec Mux dans GitHub - discourse/discourse-video, donc une alternative moins chère semblait être une bonne idée.

Prérequis

  • Compte Cloudflare actif avec Stream activĂ©

Source & Support

Captures d’Écran

Démo

Visitez mon site de test et téléchargez quelques vidéos

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


Note : Ceci n’est pas un plugin #officiel.

16 « J'aime »

Mise Ă  jour : La prise en charge du streaming en direct est maintenant disponible ! :satellite_antenna:

Le plugin prend désormais en charge le streaming en direct avec la diffusion RTMPS !

Nouveautés :

  • CrĂ©ez des flux en direct directement depuis le menu de la barre d’outils du compositeur
  • Obtenez instantanĂ©ment les informations d’identification RTMPS via l’API Cloudflare Stream
  • Diffusez avec OBS, Streamlabs ou tout logiciel compatible RTMPS
  • Enregistrement automatique activĂ© - les flux sont sauvegardĂ©s pour la lecture après la fin de la diffusion
  • MĂŞme BBCode [video-stream id="..."] et lecteur adaptatif pour le contenu en direct et enregistrĂ©

Comment activer :
Réglez video_stream_enable_live_streams sur true dans Admin → Paramètres → Streaming vidéo

Consultez l’OP mis à jour pour tous les détails sur le flux de travail du streaming en direct.

11 « J'aime »

Salut, Très bien. Je travaille dans le cinéma et la télévision et nous construisons une expérience centrée sur les médias.

Nous utilisons Bunny. Quelle serait la facilité pour nous de modifier les points de terminaison dans le plugin pour autoriser différents CDN/plateformes de streaming ?

3 « J'aime »

Il semble que l’offre de Bunny soit très similaire à celle de Cloudflare, il devrait être facile d’y ajouter la prise en charge.

3 « J'aime »

Merci Falco. Je vais examiner ça.

1 « J'aime »