BLOG
Réaliser un stream multi-caméras avec OBS et le script Source-Toggler

Peremptoire

| 8 minutes

Des fois, on aimerait bien pouvoir gérer plusieurs caméras pendant un stream sans avoir à exploser son budget avec mélangeur vidéo matériel. Je vous propose ce petit guide pour réaliser un stream multi-caméras directement sur OBS. C’est un peu cheap, avec les moyens du bord, mais ça fait remarquablement bien l’affaire et ça dépanne bien pendant les événements.

Pour ce qui nous intéresse ici, on a besoin de pouvoir récupérer 3 ou 4 flux de caméras pour les intégrer dans les diverses configurations d’overlay sur OBS. Pour finir, on aura besoin de mettre en place un système de commutation (changement de plans) rapide entre caméras.

Capture d’OBS qui montre des changements de plan de caméra

CAMERA 1, CAMERA 2, CAMERA 3 SUR LA CAFETIERE

Ainsi, ce guide se découpe en deux parties, une première qui concerne les solutions possibles pour recevoir et gérer plusieurs flux de caméras et une seconde qui détaille la manipulation à mettre en place directement sur le logiciel OBS.

Je ne vais pas rentrer dans tous les détails, car beaucoup de choses vont dépendre de votre configuration matérielle, de votre matériel à disposition, de vos besoins réels… Ainsi, je vous propose avant tout la manipulation à ma façon et je vous laisse creuser tout ça de votre côté. N’hésitez pas si vous avez des questions ou à partager vos petites trouvailles !

RECEVOIR ET GÉRER PLUSIEURS FLUX DE CAMÉRAS

Dans l’idéal, on aurait pas besoin de faire tout ça si on avait déjà sous la main quelques caméras et un mélangeur vidéo physique. Cependant, cela représente un sacré budget donc voici quelques alternatives. Attention, c’est de la bidouille.

AJOUTER PLUSIEURS WEBCAMS SUR UN MÊME PC

D’emblée, la première solution apparaît d’être celle de brancher plusieurs caméras sur un seul PC, mais en réalité ce n’est pas aussi simple. Il n’y a pas de solution miracle, donc voici quelques pistes de réflexion et comme je ne suis pas expert, n’hésitez pas à me corriger.

J’ai creusé un peu l’affaire sur les forums d’OBS et on retrouve pas mal de problèmes ou d’erreurs possibles selon la plateforme (Mac, Windows, Linux), la version de l’OS, la puissance du PC, la configuration matérielle (notamment au niveau des ports USB)…

Globalement, OBS n’a aucun problème à gérer plusieurs caméras. Si vous rencontrez des difficultés, cela viendra probablement d’un problème d’alimentation USB ou de bande passante USB.

  • Les contrôleurs USB ont une “bande passante” limitée. Dans mon cas par exemple, j’essaye autant que possible de brancher mes webcams dans des endroits différents, une sur la carte mère, une sur la carte graphique…

  • De plus, les ports USB 2.0 fonctionnent généralement par paire donc évitez d’en brancher deux côte à côte. Pour les ports USB 3.0, ça ne devrait pas poser de problèmes.

  • Toujours avec les ports USB 2.0, vous devriez essayer d’économiser de la bande passante, tout d’abord en privilégiant un encodage en MJPEG dans les paramètres de vos périphériques de capture vidéo sur OBS. Ensuite, évitez vraiment la 4k ou le 60fps. Privilégiez une résolution et un framerate plus bas.

  • Cela peut arriver – mais je n’ai jamais pu tester – qu’il y ait des conflits si vous utilisez plusieurs exemplaires d’un même modèle de caméra, car les drivers ne sont pas toujours adaptés pour ça.

IP WEBCAM

Dans le cadre du festival de podcast PodRennes, nous devions filmer la salle dans différentes configurations : un plan global, un plan vers la scène, un plan vers le public.

Pour ce faire, nous avons utilisé un système un peu hybride avec une webcam raccordée au PC de la régie puis 2 à 3 autres plans gérés par des smartphones d’occasion connectés au wi-fi de la salle et dont nous recevions les flux vidéos via une application nommée IP Webcam. Une fois l’application installée, nous récupérions les flux vidéo via une URL (qu’on peut récupérer sur une page en local sur un navigateur) qu’on collait comme « source navigateur » sur OBS.

Capture d’écran d’IP Webcam sur Android

Récupérez l’adresse IP sur l’application

Globalement, cela fait très bien l’affaire mais attention à prendre en compte certaines petites choses :

  • Attention, les smartphones peuvent beaucoup chauffer, voire s’éteindre. Il faut aussi veiller à ce qu’ils soient toujours alimentés.

  • Le flux vidéo dépend du wi-fi, donc essayez vraiment d’avoir un wi-fi correct mais surtout stable. Si vous avez des deconnexions, il faudra refaire la manipulation sur le smartphone. Vous pouvez aussi tester via le réseau mobile, mais je n’ai jamais testé.

  • Comme on passe par des smartphones pas forcément récents ET du wi-fi, le flux vidéo n’est pas forcément incroyable. A vous de tester.

Capture d’écran d’IP Webcam sur navigateur, avec les options pour gérer la caméra

Vous pouvez aussi coller l’adresse IP dans votre navigateur, ça ouvre plein d’options !

AVEC VDO.NINJA

VDO.Ninja est une autre solution, un peu plus complexe au début certes, mais que je préconise. Cet outil gratuit en ligne qui vous permet de créer un salon dans lequel on va connecter nos webcams pour ensuite récupérer leur flux.

Commencez par créer un salon via “Create a room” et indiquez un nom de salon. Choisissez un nom suffisamment complexe et un mot de passe et rejoignez le salon en tant que “Director”.

Capture du site VDO NINJA sur navigateur, pour créer un salon de discussion vocal

Commencez par créer votre salon puis connectez-vous en tant que « Director »

Ensuite, connectez toutes vos webcams (ou vos smartphones) dans ce salon via le lien d’invitation proposé sur « Invite a guest ».

Capture du site VDO NINJA sur navigateur, avec le lien pour inviter des personnes à la discussion

Partagez ce lien aux participant-e-s

Toutes vos sources apparaitront dans le salon et vous allez pouvoir récupérer les liens de chaque flux vidéo, qu’il vous suffira de coller en tant que source « Navigateur » dans votre OBS. N’hésitez pas à creuser les options disponibles car VDO.Ninja est plein de potentiel, vous pouvez par exemple créer des liens de connexion propres à chacun de vos flux.

Capture du site VDO NINJA sur navigateur, le lien à ajouter sur OBS

Insérez ce lien dans une source navigateur dans OBS !

PRÉPARER OBS POUR LA GESTION DES CAMÉRAS

Maintenant que le travail préparatoire pour les caméras est fait, il est temps de mettre en place toute la manipulation sur OBS. Rien de très compliqué, restez attentif et soyez organisé dans le noms de vos scènes et de vos sources.

AJOUT DU SCRIPT « SOURCE-TOGGLER »

On commence par mettre en place le script “source-toggler », que vous pouvez directement télécharger dans la partie ressources du site d’OBS. Grâce à ce script, il est possible de faire en sorte qu’une seule source ne soit visible à la fois dans une scène de votre choix. Rangez bien ce script dans votre PC puis sur OBS rendez-vous dans le menu « Options » > « Scripts.

Capture OBS, ajout du script

Attention aux noms de vos scènes de vos sources, OBS est très sensible à la casse !

PRÉPARATION DES SCÈNES SUR OBS

Pour commencer, nous allons créer une scène pour « stocker » chaque flux vidéo de caméra. Commencez par créer une scène « Cam1 » puis ajoutez votre webcam ou votre lien vidéo via une source navigateur (si vous utilisez IPWebcam ou VDO.Ninja). Répétez autant de fois la manip’ que vous avez de caméras (Cam2, webcam3…).

Maintenant que vous avez chaque flux vidéo bien « stocké » dans sa propre scène, on va les rassembler dans une nouvelle scène que nous appellerons donc “webcam-mix”.

Nous allons utiliser la technique des « scènes imbriquées » ou « nested scenes » pour imbriquer chaque scène webcam dans la scène « webcam-mix ». Pour ce faire faire, ajoutez une source « Scène » puis sélectionnez successivement vos scènes « Cam1 », « Cam2″…

Dans votre scène « webcam-mix », vous avez donc quelque chose comme dans le gif ci-dessous. Vérifiez ainsi que tout fonctionne en masquant/affichant les différentes caméras.

Capture OBS, changement des plans de caméras avec les sources navigateur

Assurez-vous que tout fonctionne en jouant sur la visibilité de vos caméras

MISE EN PLACE DES RACCOURCIS CLAVIER

On attaque la fin de la manip’ en mettant un petit système de raccourcis clavier pour pouvoir rapidement commuter entre les caméras.

Rendez-vous dans Paramètres > Raccourcis clavier, repérez dans la liste votre scène “webcam-mix” et assignez un raccourci pour l’affichage de chaque caméra :

  • “Afficher Cam1” → CTRL+1

  • “Afficher Cam2” → CTRL+2

  • Et ainsi de suite…

Capture OBS, assignation des raccourcis clavier

Assignez un raccourci pour afficher chacune de vos caméras !

A partir de maintenant, vous devriez pouvoir rapidement commuter entre les caméras avec vos raccourcis clavier. C’est fini ! Maintenant il vous suffit d’imbriquer votre scène “webcam-mix” la où vous en aurez besoin dans votre overlay.

RÉFLEXIONS ET RETOUR D’EXPÉRIENCE

  • Trouvez un nom ou une nomenclature pour vos scènes et sources et tenez-vous en. Si vous modifiez les noms en cours de route, vous devrez refaire la manipulation du script et probablement remettre à jour vos raccourcis clavier.

  • Au début, j’avais simplement mis en raccourci clavier les touches 1, 2, 3 du pavé numérique. Le problème est qu’il m’arrivait de faire des changements de plan inopinés quand je répondais sur le chat Twitch intégré dans OBS et que j’utilisais une de ces touches. Optez donc pour des raccourcis un poil plus complexes.

  • Ici, nous n’avons parlé que des caméras, mais il serait totalement possible de reproduire la technique avec des illustrations ou même des playlists musicales en local. Imaginez pouvoir changer de playlist à la volée en plein live avec des raccourcis clavier.

  • Dans le cadre du festival PodRennes, on était allé plus loin en utilisant cette technique couplé avec le plugin Move Transition, qui permet de faire de chouettes mouvements de transition et ça rend bien.

L’overlay pour l’édition 2022 du Festival PodRennes