Architecture des applications modernes de visioconférence

La visioconférence sur internet s’est démocratisée ces dernières années grâce à l’émergence du standard WebRTC (Web Real Time Communication, littéralement “communication en temps réel pour le Web”) intégré progressivement dans les navigateurs depuis 2013 et au développement de solutions logicielles libres performantes.

L’augmentation des débits offerts par les fournisseurs d’accès à internet est également un facteur déterminant. En effet, une très bonne qualité vidéo est atteinte avec un flux de 1 Mb/s environ. Une très bonne qualité audio est atteinte avec un débit 20 fois plus réduit, soit 50 Kb/s environ.

Il existe trois principales techniques réseau permettant de mettre en œuvre la visioconférence : le mode Mesh sans serveur relai et deux modes faisant intervenir des serveurs relais, SFU et MCU. Nous détaillons ici ces trois modes et présentons leurs principaux cas d’usage, avantages et inconvénients. Par soucis de simplification les calculs sont réalisés avec un débit audio et vidéo représentant ensemble 1 Mb/s pour chaque participant.

Mesh, le mode pair à pair le plus simple à mettre en œuvre

Le mode Mesh (maillage en français, encore appelé P2P ou peer-to-peer) met directement en relation les participants à la visioconférence : les flux ne sont pas relayés par un serveur central mais sont routés directement par le réseau. Il ne nécessite pas de serveur, ce qui économise des coûts d’hébergement.

Chaque participant envoie ses flux audio et vidéo à chacun des autres participants et mobilise sa bande passante montante (upload) proportionnellement au nombre de participants. Ce mode est adapté jusqu’à 4 participants en général. En effet, la bande passante étant souvent asymétrique (le « A » de ADSL), celle-ci est limitée dans le sens montant donc vite saturée. Par exemple, une conférence à 4 participants nécessite pour chaque participant 3 Mb/s dans le sens montant aussi bien que descendant (download).

En résumé, dans ce mode, pour une conférence à n participants, chaque participant envoie et reçoit n-1 flux de 1 Mb/s.

Le mode Mesh est utilisé en général pour les communications où il n’y a que deux à quatre participants.

SFU, relai sélectif des flux

Le serveur SFU (Selective Forwarding Unit, littéralement « Unité de relai sélective ») effectue le relai des flux audio et vidéo de chacun des participants vers chaque autre participant. Le gros avantage est que cela réduit le besoin en bande passante montante pour chaque utilisateur à son seul flux audio et vidéo vers le SFU, soit environ 1 Mb/s en montant. Cette bande passante est généralement disponible en ADSL.

Le serveur SFU a besoin pour sa part d’une bande passante sortante conséquente car il redistribue les flux à chaque participant : cela croît quasiment autant que le carré du nombre de participants. Ainsi avec 10 participants à 1 Mb/s, le SFU sort 10 x 9 (il ne renvoie pas au participant son propre flux) soit 90 Mb/s.

En résumé, dans ce mode, pour une conférence à n participants, chaque participant envoie 1 flux de 1 Mb/s et reçoit n-1 flux de 1 Mb/s. Le serveur SFU reçoit n flux de 1 Mb/s et envoie n x (n-1) flux de 1 Mb/s.

C’est tout à fait acceptable pour un serveur dans un data center. Il n’est pas rare en effet de disposer de 1 Gb/s en sortie sur un serveur hébergé.

Parmi les solutions du marché de type SFU activement développées, on trouve Jitsi Videobridge (l’une des plus anciennes), Nextcloud Talk High Performance Backend (HPB) et Multiparty Meeting. Ces solutions serveurs incluent de nombreuses optimisations, en particulier la possibilité d’ajuster la qualité des flux vidéos à la bande passante disponible ou encore de ne relayer les flux que des derniers intervenants. Cela autorise des conférences rassemblant quelques dizaines de participants et davantage.

MCU, relai de mixage des flux

Le serveur MCU (Multipoint Control Unit, littéralement « Unité de Contrôle Multipoint ») centralise les flux de chaque participant et en effectue un mixage avant de renvoyer un unique flux à chaque participant. L’opération de mixage est une opération intensive au niveau du serveur et monopolise une capacité de calcul importante liée au décodage et à l’encodage des flux.

En résumé, dans ce mode, pour une conférence à n participants, chaque participant envoie et reçoit un seul flux de 1 Mb/s, et le serveur reçoit et envoie n flux de 1 Mb/s.

Les serveurs MCU constituent la plupart des solutions historiques propriétaires et équipent de nombreuses salles de visioconférence. Ces solutions ont été longtemps réservées à de grosses organisations de par leur coût relativement élevé. Des solutions grand public ont vu le jour ces dernières années. De son côté, Nextcloud annonce une évolution de type MCU pour son serveur HPB.

En résumé

Comme un bon dessin vaut mieux qu’un long discours, voici un schéma explicatif résumant les technologies et les débits nécessaires.

Les différentes solutions techniques de visioconférence (d’après https://webrtcglossary.com/mcu/)

Évaluation des débits nécessaires en Mb/s, pour chaque mode, pour une conférence à n participants :

Mesh/P2P

SFU

MCU

Participant envoie

n-1

1

1

Participant reçoit

n-1

n-1

1

Serveur envoie

NA

n x (n-1)

n

Serveur reçoit

NA

n

n

Conclusion

Les trois solutions techniques évoquées sont adaptées à différents usages et sont parfois implémentées dans le même logiciel. Si la technologie Mesh trouve sa limite au-delà de 4 participants, les solutions SFU et MCU sont de leur côté adaptées à un très grand nombre de participants, avec des avantages et inconvénients en terme de consommation de ressources sur les serveurs et les clients. Le SFU consomme plus de bande passante et le MCU consomme plus de CPU et mémoire.

Contactez-nous pour tous vos besoins en études et déploiements :

Suivez nos publications régulières sur les réseaux sociaux :

Sources

 

Posted in Arawa, Jitsi Meet, Nextcloud Talk, Visioconférence.