Diffusion du conseil municipal

Solution de diffusion en direct du conseil municipal de la ville d'Échirolles.

La solution repose sur des caméras tourelles permettant l'intégration des flux vidéo en temps réel, le pilotage à distance depuis OBS et la diffusion multi-plateformes. OBS Studio est utilisé pour la gestion des caméras et la réalisation en direct du conseil.

Installation d'OBS Studio sur Zorin OS (ou Ubuntu)

Avant propos

OBS Studio est le logiciel libre utilisé par la ville pour diffuser le conseil municipal, et d’autres manifestations, en direct. Cette prodédure décrit l’installation du logiciel et des plugins nécessaires à son fonctionnement, dans l’environnement qui est le nôtre.

Prérequis

→ ZorinOS peut-être téléchargé en cliquant sur ce lien. Choisir la version Core.

Installation d’OBS Studio

  1. Cette procédure nécessite l’installation préalable de Zorin OS Core, dans sa dernière version (version 17 au jour de la rédaction).

  2. Ajouter le PPA permettant l’installation de la dernière version d’OBS Studio :

    sudo add-apt-repository -y ppa:obsproject/obs-studio
    sudo apt update

Installer la dernière version d’OBS Studio :

sudo apt install obs-studio

Attention : n’installez pas le paquet obs-plugins

Installation de NDI

NDI (ou NDI-HX) est un protocole temps réel qui permet de découvrir les caméras compatibles connectées sur le même réseau, de récupérer le flux vidéo et de l’intégrer simplement à OBS. L’avantage de NDI, par rapport aux protocoles vidéo standard (RTSP, par exemple) est qu’il permet d’obtenir un flux en temps réel, et donc de ne pas avoir de décalage entre l’audio et la vidéo.

L’installation se déroule en deux temps :

1. Installation du runtime NDI (propriétaire)

La procédure d'installation se trouve sur cette page (voir section : Required Components - NDI Runtime / Linux)

2. Installation du plugin DistroAV (anciennement OBS-NDI)

  1. Télécharger le paquet depuis cette page Github (à la date de rédaction de cette documentation, il s’agit du paquet distroav-6.1.1-x86_64-linux-gnu.deb).

  2. L’installer.

Lancer OBS Studio et vérifier que, quand on rajoute une source (clic droit dans le dock « Sources »), le choix « Source NDI™ » est bien disponible dans le menu.

Installation de PTZ Controls

PTZ Controls est un plugin qui permet de piloter les caméras depuis OBS Studio. La page Github du projet se trouve ici.

  1. Télécharger la version la plus récente du paquet depuis cette page (à la date de rédaction de cette documentation, il s’agit du paquet obs-ptz-0.17.0-x86_64-linux-gnu.deb).

  2. Installer le paquet.

Attention, le point 3 ci-dessous est important : il existe une dépendance mal documentée pour faire fonctionner PTZ Controls. Si vous ne l’installez pas, PTZ Controls n’apparaîtra pas dans le menu « Docks » d’OBS Studio !

  1. Conformément à l’alerte ci-dessus, installer ce paquet :

    sudo apt install libqt6serialport6

Lancer OBS Studio. Dans le menu « Docks », un nouveau dock « PTZ Controls » devrait être présent. Sélectionner le dock et le glisser en bas, entre « Sources » et « Mélangeur audio » par exemple.

→ Vous devriez disposer d’un OBS Studio opérationnel.

 

Auteur original de cette documentation : Nicolas Vivant.

Matériel et setup

Échirolles a conçu le streaming de son conseil municipal avec le maximum d’outils libres (et environ 6000 € d’investissement), un thread testé et approuvé en 7 points.
Si ça peut aider…

1. Les caméras.
2. Le son.
3. Le réseau.
4. La machine.
5. Le logiciel.
6. Le graphisme.
7. La diffusion.

Nota :

 

Auteur original de cette documentation : Nicolas Vivant.

Intégration de BigBlueButton (visioconférence)

Avant-propos

Pour les visioconférences, nous avons fait le choix de BigBlueButton. Utilisable depuis un navigateur web, ses fonctionnalités de vote, de gestion de la parole et des présentations semblent adaptées pour une participation à distance en conseil municipal. Pour ce faire, un certain nombre de points sont incontournables :

  1. les participantes et participants doivent pouvoir se voir, dans la visioconférence et dans la salle ;
  2. ils doivent pouvoir s’entendre et interagir de façon fluide ;
  3. une présentation, réalisée en salle ou à distance doit être également visible par toutes et tous ;
  4. tout cela doit être accessible dans la diffusion en ligne, en direct et en rediffusion.

Trouver la solution nous a pris un peu de temps, et c’est pourquoi il me semble utile de la partager.

Se voir

Dans OBS, nous disposons déjà des images de la salle. L’utilisation de la fonctionnalité « caméra virtuelle » du logiciel va permettre de transformer ce flux en caméra, et de l’envoyer dans BigBlueButton. Il convient d’activer la fonction, puis d’utiliser son navigateur (Firefox, chez nous) sur la même machine pour rejoindre la visioconférence. Une caméra « OBS » est alors proposée, il suffit de l’activer et le flux vidéo est automatiquement transmis dans la réunion. Le son de la salle, en revanche, sera transmis par un autre moyen. Il ne faut donc pas l’activer.

Une capture de la fenêtre de visioconférence dans une scène OBS dédiée permet de diffuser l’image de la visioconférence quand c’est utile. Dans la salle, un PC connecté dans la visioconférence permettra de retransmettre les images sur un écran ou un vidéoprojecteur, toujours sans le son et avec un minium de délai (moins d’une seconde).

S’entendre

C’est là que les choses se compliquent. Dans notre conseil municipal, les élu·e·s parlent dans des micros et s’entendent dans les bas parleurs de ces mêmes micros. Un système intégré à la console de gestion permet d’éliminer l’écho, de telle sorte qu’un micro activé ne reprend pas le son diffusé dans les bas parleurs. Dans le cas contraire, un larsen ne manquerait pas de se produire. Le problème est le même pour une intervention dans la salle en visioconférence : l’écho doit absolument être éliminé.

Nous avons donc utilisé la console de gestion des micros pour gérer le son de la visioconférence. Un PC dédié, sous Zorin OS, est connecté dans le salon via le navigateur Firefox. Il reçoit le son des micros depuis la console, et le renvoie dans la console pour que les interventions depuis BigBlueButton soient audibles dans la salle via les bas parleurs. Ce ce que décrit la partie encadrée en rouge ci-dessous.

obs-bbb-audio-1024x724.jpg

Autre initiative intéressante : l’utilisation d’un serveur RTMP qui nous permet de contourner une limitation d’OBS, qui ne peut diffuser qu’un seul flux à la fois (deux, en fait, si on considère la fonction de caméra virtuelle comme un flux à part entière), et de récupérer le flux depuis n’importe quel PC pour de l’affichage en direct sur un ou plusieurs écrans distants. Installé sur notre serveur de visioconférence BigBlueButton, il permet de diffuser sur un nombre indéfini de plate-formes. À Échirolles, nous diffusons sur Facebook, la page de la ville étant plutôt bien suivie, et sur notre serveur Peertube pour une meilleure qualité et une meilleure intégration sur notre site web (Drupal).

Ainsi, les habitant·e·s qui ne disposent pas (ou ne souhaitent pas disposer) d’un compte Facebook peuvent assister au conseil en ligne, sans contrainte, algorithme ou publicité intempestive.

Si vous souhaitez diffuser sur plusieurs plateformes et que la mise en place d’un serveur RTMP vous semble trop lourde, au moins deux plugins pour OBS permettent de faire la même chose dans passer par un serveur RTMP dédié : Aitum Multistream et Multistream by Streamway.

L’ensemble des vidéos d’Échirolles peuvent être consultées sur notre compte Peertube : https://video.echirolles.fr.

 

Auteur original de cette documentation : Nicolas Vivant.

Intégration de présentations (ZowieBox)

Un-e présentateur-ice veut projeter une présentation, soit depuis le PC à disposition, soit depuis le sien. On veut récupérer les diapos :

La solution

Nous avons choisi d'utiliser une ZowieBox (voir ici).

Connectée au réseau, la ZowieBox permet, à partir d'une entrée HDMI, d'obtenir plusieurs flux en sortie sur le réseau. Une sortie HDMI permet également de récupérer le signal vidéo en direct.

Schéma

Capture d’écran du 2025-06-20 18-24-42.png

ZowieBox

La ZowieBox prend une IP en DHCP. Elle réagit bien à un débranchement/rebranchement de l’HDMI d’entrée. Elle exporte :

Les paramètres du flux d’entrée (résolution + fréquence) sont repris pour l’encodeur à chaque branchement d’HDMI d’entrée. Une fréquence à 60Hz donne une mauvaise qualité d’image (plein d’artefacts) ; il faut baisser cette fréquence à 25 ou 30Hz.

PC Zorin de projection

On utilise obs pour afficher le flux NDI. L’installation n’est pas évidente avec NDI.

sudo apt install obs-studio  # version 30.2.3 à cette date

$EDITOR libndi-get.sh  # modifier la ligne 4, v5 -> v6
sudo bash ./libndi-get.sh  # installer

sudo apt install ./obs-ndi-*.deb

Pendant les présentations

 

Auteur original de cette documentation : Philippe Le Brouster.