Discourse Video Stream ajoute une intégration transparente de Cloudflare Stream pour le téléchargement et l’intégration de contenu vidéo de longue durée de haute qualité sur votre site Discourse.
Vue d’ensemble
Ce plugin fournit un flux de travail complet pour la gestion de fichiers vidéo volumineux avec streaming à débit binaire adaptatif, permettant à vos utilisateurs de télécharger des vidéos directement depuis l’éditeur et de les lire avec un ajustement automatique de la qualité en fonction de leurs conditions réseau.
Fonctionnalités clés
Intégration de l’éditeur : Bouton de barre d’outils optionnel pour les téléchargements vidéo directs depuis l’éditeur
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
Téléchargements Reprenables : Basé sur tus-js-clientpour des téléchargements fiables de fichiers bien au-delà de 200 Mo avec reprise automatique en cas de problèmes de connexion
Proxy Sécurisé : Le point de terminaison côté serveur génère des URL de téléchargement Cloudflare Stream de courte durée, gardant vos identifiants API en sécurité
BBCode Personnalisé : Syntaxe simple [video-stream id=\"...\"]pour intégrer des vidéos
Streaming Adaptatif : Intégration de Shaka Player avec des manifestes DASH pour une lecture fluide sur différentes vitesses de réseau
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
Accédez à Admin → Paramètres → Streaming vidéo 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 sous-domaine Cloudflare Stream (par exemple, 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 |
Obtention des identifiants Cloudflare Stream
- Connectez-vous Ă votre tableau de bord Cloudflare
- Accédez à Stream sous votre compte
- Copiez votre ID de compte depuis la vue d’ensemble de Stream
- Créez un jeton API avec les permissions Stream:Edit
- 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’extensions autorisées pour que cela fonctionne.
Téléchargement Manuel
Les utilisateurs peuvent cliquer sur le menu déroulant de la barre d’outils de l’éditeur (
) 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 s’affiche comme un lecteur de streaming adaptatif avec des contrôles de résolution et de vitesse.
Pourquoi Cloudflare Stream ?
Nous avons le 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.
Exigences
- Compte Cloudflare actif avec Stream activé
Source & Support
- Dépôt : GitHub - xfalcox/discourse-video-stream
Captures d’écran
Démo
Visitez mon site de test et téléchargez quelques vidéos
Test Video Upload plugin - General - Discourse on a Pi 5
Note : Ceci n’est pas un plugin #officiel.

