Dans cet article

Envoyez un seul flux depuis OBS et laissez un relais privé le transmettre aux plateformes. Avec Docker Compose, connexion chiffrée, coûts et répétition.

Code source amont de Restreamer. Il s’agit du projet amont, pas d’un dépôt distinct maintenu pour ce tutoriel.

Un serveur multistream OBS vous convient-il ?

Un serveur multistream OBS reçoit un seul flux vidéo depuis votre domicile et le transmet à plusieurs plateformes. Si votre connexion supporte un envoi mais peine avec deux, un petit serveur peut vous aider. Ce guide utilise le logiciel libre datarhei Restreamer sur un Droplet DigitalOcean.

Un Droplet est un ordinateur Linux loué. Restreamer fournit le tableau de bord et le relais. OBS capture et encode toujours votre scène. YouTube et Twitch servent les spectateurs. Dix mille spectateurs ne créent donc pas dix mille connexions à votre Droplet.

Je choisirais cette installation pour une personne qui veut garder le contrôle et peut laisser une fenêtre SSH ouverte pendant son émission. Choisissez un relais géré si vous préférez confier la maintenance à un prestataire. Une extension multistream locale convient aussi lorsque votre débit montant est suffisant.

Ce guide utilise un flux horizontal. Préparez une sortie distincte pour une mise en page verticale.

Vérifiez vos comptes avant de louer un serveur

Ouvrez YouTube Studio et activez la diffusion en direct. La première activation peut prendre 24 heures. Créez une diffusion de test privée et vérifiez que les réglages de l'encodeur affichent une URL de serveur et une clé. Préférez une diffusion privée pour la répétition. Un lien non répertorié peut être partagé.

Sur Twitch, retrouvez votre clé principale dans le tableau de bord des créateurs, Paramètres, Stream. Lisez les règles actuelles de diffusion simultanée ci-dessous. Ajouter une destination à Restreamer ne règle pas votre compte et ne prouve pas que votre émission respecte les règles de chaque plateforme.

Pour TikTok, cherchez une URL de serveur et une clé destinées à un encodeur externe. L'accès à l'application mobile ou à LIVE Studio ne prouve pas que cette méthode soit disponible. Si ces deux valeurs manquent, continuez avec Twitch et YouTube. Vérifiez cet accès avant de payer le serveur.

  • Installez OBS sur votre ordinateur et vérifiez l'image et le microphone avec un enregistrement local.
  • Utilisez un contenu que vous pouvez diffuser, comme une caméra et un test parlé. Gardez les fenêtres privées hors de la scène.
  • Préparez une clé SSH. Sous Windows utilisez PowerShell avec OpenSSH. Sous macOS ou Linux utilisez Terminal.

Réglages d'encodage YouTube · Règles de diffusion simultanée Twitch · Connexion TikTok documentée par BytePlus

Documentation des plateformes relue le 8 octobre 2026 : les conditions Twitch, §11 exigent une expérience Twitch au moins équivalente, interdisent d’orienter les spectateurs vers une diffusion simultanée ailleurs et de fusionner sur le flux Twitch les activités d’autres plateformes, comme leur chat. Consultez la FAQ et votre propre contrat pour les exceptions. Utilisez les réglages d’encodeur YouTube actuels. Cela vérifie les recommandations publiées, pas l’éligibilité de votre compte, ses conditions particulières ni l’accès à une clé TikTok. Revérifiez avant toute diffusion publique.

Chiffrez votre serveur multistream OBS avant sa création

Restreamer n'impose aucun abonnement logiciel. DigitalOcean affiche actuellement un Droplet Basic avec 1 Gio de mémoire et 1 000 Gio de transfert mensuel à 6 USD, ou 2 Gio et 2 000 Gio à 12 USD. Je prévoirais 12 USD pour un premier essai afin de garder une marge. Ce choix n'est pas un minimum mesuré.

Additionnez les débits vidéo et audio, puis multipliez par le nombre de destinations et les heures de diffusion. Avec 6 Mbit/s au total, chaque destination consomme environ 2,51 Gio par heure. Trois destinations pendant 100 heures représentent environ 754 Gio avant les surcoûts des protocoles. Regarder l'aperçu du relais ajoute du transfert sortant.

DigitalOcean inclut le transfert entrant. Le quota sortant s'accumule pendant l'existence du Droplet et se partage au niveau de l'équipe. Un serveur créé pour une soirée ne reçoit pas immédiatement le quota d'un mois. Le dépassement coûte actuellement 0,01 USD par Gio. Les autres services de l'équipe peuvent utiliser ce même quota.

Gardez une marge et consultez la facturation après la répétition. Éteindre un Droplet n'arrête pas ses frais de calcul. Détruisez-le lorsque vous n'en avez plus besoin, après avoir sauvegardé la configuration utile. Les instantanés, volumes et sauvegardes conservés séparément peuvent rester facturés.

Exemple de transfert mensuel sortant à 6 Mbit/s par destination, hors surcoûts des protocoles

Destinations50 heures100 heures
2251 Gio503 Gio
3377 Gio754 Gio

Tarifs des Droplets DigitalOcean · Facturation du transfert DigitalOcean

Référence tarifaire vérifiée le 8 octobre 2026 : le tableau Basic forfaitaire affiche les exemples à 6 USD/1 Gio et 12 USD/2 Gio. Il s’agit de forfaits, pas de devis v5 par ressource. Vérifiez région, quota de transfert et frais supplémentaires avant création. Les chiffres de bande passante sont des calculs, pas une mesure de diffusion.

Étape 1. Créez un serveur accessible uniquement par SSH

Créez un nouveau Droplet Basic Ubuntu 24.04 LTS dans une région proche de votre lieu de diffusion. Choisissez l'authentification par clé SSH, un nom reconnaissable comme obs-relay et notez son adresse IPv4 publique. Utilisez un serveur neuf pour éviter de modifier l'installation d'une autre application.

Créez un Cloud Firewall DigitalOcean et attachez-le à ce Droplet. Autorisez uniquement le port TCP entrant 22 depuis votre adresse IPv4 publique actuelle suivie de /32. Conservez les règles sortantes par défaut pour les mises à jour et publications. N'ajoutez aucune règle entrante pour 8080, 1935, HTTP ou HTTPS.

Ce guide fait passer le tableau de bord et OBS dans SSH. Vous n'avez besoin ni de domaine ni de certificat. Si votre adresse domestique change, modifiez la source autorisée dans le tableau de bord DigitalOcean. N'ouvrez pas SSH à tout Internet pour contourner le problème.

Sur votre ordinateur, remplacez YOUR_DROPLET_IP par cette IPv4 et exécutez la commande. La première connexion demande de vérifier l'empreinte du serveur. Comparez-la avec celle obtenue par la console du fournisseur. Continuez lorsque l'invite distante identifie votre nouveau serveur.

Commande shell
ssh root@YOUR_DROPLET_IP

Créer un Droplet avec une clé SSH · Créer et attacher un Cloud Firewall

Étape 2. Installez Docker et créez le fichier de configuration

Vous tapez maintenant sur le Droplet avec le compte root. Docker exécute Restreamer dans un conteneur. Compose lit un court fichier décrivant les ports et le stockage. Exécutez les commandes une par une. Corrigez chaque erreur avant de continuer.

Les noms de paquets ci-dessous correspondent aux dépôts Ubuntu d'un serveur Ubuntu 24.04 neuf. Si apt ne trouve pas docker-compose-v2, vérifiez la version du système et l'activation du dépôt universe. Ne mélangez pas ces instructions avec une installation Docker provenant d'une autre source.

Lorsque la version de Compose apparaît, créez le dossier de travail puis ouvrez compose.yaml. Nano est un éditeur de texte. Collez le YAML de la section suivante, appuyez sur Ctrl+O puis Entrée pour enregistrer et sur Ctrl+X pour revenir à l'invite du serveur.

Commande shell
apt update
apt install -y docker.io docker-compose-v2 nano
systemctl enable --now docker
docker compose version
Commande shell
mkdir -p /opt/obs-relay
cd /opt/obs-relay
Commande shell
nano compose.yaml

Paquet Docker Compose pour Ubuntu 24.04

Gardez le tableau de bord et l'entrée vidéo privés

Collez cette configuration complète dans compose.yaml. La version 2.12.0 identifie la version de Restreamer utilisée par ces instructions. Les deux liaisons 127.0.0.1 acceptent les connexions passant par le serveur lui-même, y compris votre tunnel SSH. Elles ne publient pas le service sur toutes ses interfaces réseau.

Les volumes nommés conservent les réglages lorsque vous recréez le conteneur. Ils contiennent des informations sensibles dès que vous ajoutez les clés des plateformes. Cette configuration limite aussi les journaux Docker à trois fichiers de 10 Mo. Elle ne limite pas tous les fichiers de l'application. Laissez l'enregistrement vidéo désactivé pendant l'installation.

Copiez le fichier ici ou téléchargez-le ci-dessous. Cette installation tient dans un fichier lisible en entier. Elle ne nécessite donc aucun dépôt compagnon ni programme d'installation séparé.

compose.yaml
services:
  restreamer:
    image: datarhei/restreamer:2.12.0
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:8080"
      - "127.0.0.1:1935:1935"
    volumes:
      - restreamer-config:/core/config
      - restreamer-data:/core/data
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"
volumes:
  restreamer-config:
  restreamer-data:

Télécharger le fichier Compose complet · Restreamer version 2.12.0

Étape 3. Démarrez Restreamer et vérifiez les ports

Depuis l'invite du serveur dans /opt/obs-relay, validez le fichier, démarrez le conteneur et vérifiez son état. Le premier démarrage télécharge l'image et peut prendre quelques minutes. Une validation réussie ne produit aucun texte. Attendez sa réussite avant de lancer la commande suivante.

Les contrôles de ports doivent retourner 127.0.0.1:8080 et 127.0.0.1:1935. Arrêtez si une liaison commence par 0.0.0.0 ou [::]. Corrigez le YAML et relancez docker compose up -d. Ces contrôles confirment la configuration et l'état du conteneur. Le test vidéo vient ensuite.

Commande shell
docker compose config --quiet
docker compose up -d
docker compose ps
Commande shell
docker compose port restreamer 8080
docker compose port restreamer 1935

Étape 4. Ouvrez la connexion chiffrée depuis votre ordinateur

Gardez le terminal du serveur disponible. Ouvrez un deuxième terminal sur votre ordinateur et lancez cette commande après avoir remplacé YOUR_DROPLET_IP. Un tunnel fonctionnel laisse normalement la fenêtre vide. Gardez-la ouverte pendant la configuration et chaque diffusion.

Ouvrez http://127.0.0.1:18080/ui dans le navigateur du même ordinateur. HTTP reste limité aux connexions locales. SSH chiffre le trafic qui traverse Internet. Suivez la création du premier compte Restreamer et choisissez un mot de passe unique. Si la page ne répond pas, vérifiez d'abord que le tunnel fonctionne toujours.

Le port local 18080 mène au tableau de bord. Le port local 11935 mène au serveur vidéo. Si SSH indique qu'un port local est occupé, choisissez un autre port disponible et adaptez l'adresse du navigateur ou d'OBS. Ne changez pas par erreur le port distant.

Empêchez la mise en veille et utilisez une connexion filaire si possible. Le tunnel SSH convient à un poste fixe, mais sa reconnexion est manuelle dans ce guide. Une diffusion mobile passant entre plusieurs réseaux demande un autre transport et un autre plan de reprise.

Commande shell
ssh -N -o ExitOnForwardFailure=yes -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -L 127.0.0.1:18080:127.0.0.1:8080 -L 127.0.0.1:11935:127.0.0.1:1935 root@YOUR_DROPLET_IP

Client OpenSSH et redirection locale

Étape 5. Connectez OBS à l'entrée Restreamer

Dans les réglages système de Restreamer, activez le serveur RTMP sur le port 1935 et définissez un jeton RTMP long et unique. Lancez l'assistant de source et choisissez son entrée RTMP interne. Copiez l'adresse de publication fournie. N'inventez pas l'identifiant du flux et ne copiez pas une adresse de lecture.

Dans OBS, ouvrez Paramètres, Stream et choisissez Personnalisé. Reprenez l'adresse de l'assistant en remplaçant uniquement son hôte et son port par 127.0.0.1:11935. Conservez le chemin d'application, le nom du flux et le jeton. Si l'assistant fournit séparément Serveur et Clé de stream, gardez cette séparation.

Si vous recevez une URL complète, placez la partie précédant la dernière barre oblique dans Serveur. Placez le nom final du flux avec sa requête de jeton dans Clé de stream. Le jeton Restreamer protège cette entrée. Les clés Twitch et YouTube iront plus tard dans leurs services de publication.

Commencez avec une scène de 1280 par 720 à 30 images/s, une vidéo H.264 à débit constant de 4 000 Kbit/s, une image clé toutes les deux secondes et de l'audio AAC stéréo à 128 Kbit/s. Ce sont des réglages de départ pour la répétition. Consultez les recommandations actuelles des destinations avant de changer la qualité.

Démarrez le streaming dans OBS pour que l'assistant détecte le signal. Sélectionnez la piste audio entrante et choisissez copy ou passthrough pour la vidéo et l'audio lorsque ces options sont proposées. Terminez l'assistant et vérifiez l'aperçu. La copie transmet les données encodées sans réencoder la vidéo. Le redimensionnement et les filtres modifient cette charge.

Assistant de source Restreamer · Réglages RTMP Restreamer · Réglages d'encodage YouTube · Réglages de diffusion Twitch

Étape 6. Testez YouTube, puis ajoutez Twitch

Dans Restreamer, utilisez le bouton plus des services de publication pour ajouter YouTube. Saisissez l'URL du serveur et la clé de votre diffusion privée de test. Préférez le point RTMPS documenté par la plateforme pour chiffrer la connexion sortante. Gardez la vérification des certificats activée.

Démarrez ce service de publication et cherchez la vidéo dans YouTube Studio. Si le démarrage automatique est désactivé, utilisez le bouton de mise en direct lorsque vous êtes prêt. Ouvrez le vrai lecteur privé depuis un compte autorisé. Parlez et frappez une fois dans les mains, puis vérifiez l'image, la voix et leur synchronisation.

Lorsque YouTube fonctionne, ajoutez un service Twitch distinct avec son URL d'entrée actuelle et sa clé. Une diffusion Twitch normale peut être publique et notifier les abonnés. Prévoyez donc cette répétition et gardez une scène inoffensive. Vérifiez le vrai lecteur Twitch en plus de l'état affiché par Restreamer.

Conservez d'abord la source de publication par défaut si elle fonctionne. Restreamer documente une source HLS qui peut ajouter du délai. Son option de source RTMP demande d'activer la sortie RTMP du canal dans Processing & Control. Réservez ce réglage à un ajustement ultérieur et revérifiez les deux lecteurs après modification.

Services de publication Restreamer

Ajoutez TikTok après la réussite des deux premières destinations

Ajoutez TikTok ou une destination RTMP personnalisée avec l'URL et la clé actuellement fournies par votre compte. Les instructions BytePlus indiquent de récupérer ces valeurs à chaque diffusion TikTok. Vérifiez-les de nouveau si la connexion fonctionnait hier et échoue aujourd'hui.

Un flux paysage copié reste en paysage. Le relais ne le transforme pas en composition verticale adaptée. Pour une vue portrait distincte, préparez une seconde sortie OBS ou ajoutez volontairement un traitement sur le serveur. Un deuxième envoi change le calcul du débit domestique. Un encodage serveur change le besoin en processeur.

Si votre compte ne fournit pas d'identifiants pour encodeur externe, arrêtez cette branche facultative. Gardez Twitch et YouTube fonctionnels. N'installez pas d'extracteur de clés et ne supposez pas que l'accès par une autre application fournit des identifiants RTMP réutilisables.

Connexion TikTok documentée par BytePlus

Répétez une session complète et une interruption volontaire

Faites une répétition de 30 minutes avec toutes les destinations prévues. Consultez le panneau Statistiques d'OBS pour repérer les images perdues sur le réseau et la surcharge d'encodage. Sur le Droplet, lancez la commande ci-dessous et notez processeur, mémoire et trafic. Une mesure ponctuelle reste un indice. Répétez-la lors des changements habituels de scène.

Notez l'offre choisie, le débit, les destinations, la durée et le résultat des lecteurs. Si le processeur reste saturé, cherchez un transcodage involontaire avant de louer plus gros. Si OBS perd des images sur le réseau, réduisez le débit et vérifiez la connexion locale. Le Droplet ne peut pas réparer une vidéo qu'il ne reçoit pas.

Pendant le test prévu, fermez le tunnel avec Ctrl+C. Les deux destinations doivent perdre leur entrée. Relancez la même commande SSH et vérifiez la reconnexion d'OBS ainsi que la reprise des plateformes. Certains événements doivent être redémarrés après une coupure. Écrivez cette procédure de reprise.

Redémarrez enfin Restreamer pendant la répétition et vérifiez encore la reprise. Cette action interrompt le flux. Une politique de redémarrage du conteneur ne garantit pas le maintien du même événement sur la plateforme. Pour terminer, arrêtez les publications et OBS, puis vérifiez la fin de chaque diffusion.

Commande shell
docker stats --no-stream
Commande shell
docker compose restart restreamer

Corrigez la première connexion en échec

Partez d'OBS et avancez vers les plateformes. Un tableau de bord accessible ne prouve pas la réception du son. Un état de publication vert ne prouve pas que les spectateurs voient la bonne scène. Vérifiez une connexion à la fois. Les détails du processus Restreamer aident au diagnostic, mais retirez URL de flux, clés et jetons avant de partager des journaux.

Identifiez la panne avant de modifier le serveur

SymptômePremier contrôle
Le tableau de bord ne s'ouvre pasTunnel SSH, port local 18080 et état du conteneur.
OBS ne se connecte pasTunnel, port 11935, RTMP activé et clé complète générée.
Image sans sonIndicateur audio OBS, piste entrante sélectionnée et audio AAC.
Une seule destination échoueSon URL, sa clé, son événement et les exigences de l'encodeur.
Délai importantTampon du lecteur et source de publication. Tester RTMP après la réussite du réglage initial.
Toutes les destinations saccadentImages perdues dans OBS, marge de débit, stabilité SSH et processeur du serveur.

Choisissez l'approche que vous souhaitez entretenir

Je retiens Restreamer ici pour son tableau de bord qui facilite la gestion des destinations. Vous restez responsable des mises à jour, des secrets et de la reprise. MediaMTX convient si vous préférez un fichier de configuration et moins de commandes graphiques. Un relais géré convient si vous préférez consacrer ce temps à votre émission.

Autres approches pour la même diffusion

ApprocheAvantage utileCompromis
Restreamer sur DropletUn seul envoi domestique et un tableau de bord.Location, quota de transfert et maintenance.
MediaMTX sur serveurRelais piloté par une courte configuration.Configuration plus manuelle, sans tableau de bord créateur équivalent.
Extension multistream OBS localePas de serveur à louer.Un envoi distinct par destination.
Service multistream géréLe prestataire exploite le relais.Limites, tarifs et intégrations propres au prestataire.

Documentation du relais MediaMTX

Gardez l'installation si la répétition vous convainc

Si les deux lecteurs restent utilisables pendant une session normale et que vous savez reprendre après une coupure, sauvegardez la configuration et vos notes. Vérifiez le transfert réel après la première semaine. Utilisez ces mesures pour décider si la taille du Droplet convient.

Avant une mise à jour Restreamer, arrêtez les publications, sauvegardez les volumes nommés dans un emplacement protégé, lisez les notes de version et testez pendant une répétition. Gardez les clés hors de Git. N'exécutez pas docker compose down -v sauf si vous voulez supprimer les réglages sauvegardés.

Pour mettre le relais en pause, utilisez la commande ci-dessous. Le Droplet reste facturé. Si cette approche demande trop de travail, terminez les événements des plateformes, conservez la configuration utile et détruisez le Droplet dédié dans DigitalOcean. Vérifiez la facture des ressources éventuellement conservées séparément.

Pour un créateur qui veut un relais privé et accepte sa maintenance, partez du budget calculé plus haut. Le résultat utile est une diffusion qui passe votre répétition avec une facture mensuelle comprise.

Commande shell
docker compose stop restreamer

Sauvegarder Docker Compose et tester une restauration

Apprenez à protéger et récupérer une application Compose avant de compter sur ses réglages sauvegardés. Ce relais utilise compose.yaml ; le script figé du guide de sauvegarde accepte seulement compose.yml ou docker-compose.yml et ne capture pas automatiquement toutes les dépendances. Lisez d’abord son périmètre de capture et arrêtez-vous tant que chaque élément du relais ne dispose pas d’une méthode de récupération testée. Ne renommez pas le fichier actif uniquement pour exécuter ce script.

Questions fréquentes

Peut-on diffuser vers plusieurs plateformes gratuitement avec OBS ?

Restreamer est libre, mais la location et les dépassements de transfert sont payants. Les extensions locales évitent la location avec un envoi distinct par destination. Comparez leur besoin en débit montant à votre connexion avant de choisir un relais.

Un Droplet à 6 USD suffit-il pour Twitch et YouTube ?

Il peut servir à essayer le relais de médias encodés compatibles, sans garantie de capacité. Testez votre débit et vos destinations pendant une répétition complète. Redimensionnement, filtres, enregistrement et encodages supplémentaires demandent une évaluation distincte.

L'accès à TikTok LIVE fournit-il une clé de flux ?

Ne le supposez pas. Cette installation exige une URL de serveur et une clé pour encodeur externe fournies par votre compte. Si la plateforme ne vous donne pas ces deux valeurs, suivez le parcours Twitch et YouTube et laissez TikTok non configuré.

Les spectateurs supplémentaires augmentent-ils le transfert du serveur ?

Les plateformes distribuent la vidéo aux spectateurs. Le relais envoie une copie à chaque destination. Son transfert principal dépend donc du débit, du nombre de destinations et de la durée. Regarder directement son aperçu ou héberger la lecture pour des spectateurs ajoute du transfert.

Puis-je fermer la fenêtre SSH après l'installation ?

Non. SSH transporte ici l'envoi OBS et la connexion au tableau de bord. Gardez cette fenêtre ouverte et l'ordinateur éveillé pendant la diffusion. Rouvrez le tunnel après une interruption, puis vérifiez la reprise d'OBS et de chaque plateforme.