Plateforme → Technologie

Technologie & WebRTC

Krona.Chat repose sur le streaming WebRTC en direct via Janus, un serveur média libre et gratuit. Nous avons développé nous-mêmes la répartition de charge des flux média entre les serveurs Janus : les flux sont distribués automatiquement sur des centaines de serveurs dans différentes régions, tandis que la latence reste inférieure à une seconde.

<500 msde latence typique entre le modèle et le spectateur
Des centaines de serveursdans un seul cluster avec répartition géographique automatique
0 $de licences de serveur média : Janus est open source

Janus — un serveur média WebRTC libre et gratuit

Les flux passent par Janus WebRTC Server, un serveur média open source. Il est gratuit : aucune licence à payer, ni au lancement ni à mesure que le nombre de serveurs, de modèles et de spectateurs augmente.

Janus fonctionne comme un SFU (Selective Forwarding Unit) : un flux entrant d'un modèle est relayé vers de nombreux spectateurs sans réencodage pour chacun d'eux. Un seul serveur média peut ainsi servir une large audience, et la vidéo parvient aux spectateurs avec une latence minimale.

Répartition de charge des flux média entre les serveurs Janus

Janus ne sait pas répartir lui-même les flux entre plusieurs serveurs — nous avons intégré la répartition de charge des flux média dans la plateforme Krona.Chat. Grâce à elle, les serveurs média fonctionnent comme un seul cluster :

Échelle

Des centaines de serveurs

La charge peut être répartie sur des centaines de serveurs média — pour couvrir plus de diffusions et de spectateurs, il suffit d'ajouter des serveurs.

Géo

Répartition géographique automatique

Les flux sont distribués automatiquement sur des serveurs situés dans différentes régions, au plus près des modèles et des spectateurs.

Résilience

Reprise automatique des flux

N'importe quel serveur peut être redémarré : tous les flux qu'il servait reprennent automatiquement.

Maintenance

Modifications sans interruption

De nouveaux serveurs s'ajoutent facilement au cluster, et tout serveur peut en être retiré pour maintenance.

Aucune alternative sur le marché

Il n'existe pas de plateforme webcam prête à l'emploi avec une répartition multi-serveurs des flux WebRTC sur un serveur média gratuit : les solutions connues fonctionnent sur un seul serveur média et ne peuvent pas monter en charge par ajout de serveurs.

La solution multi-serveurs de Krona.Chat l'emporte sur le plan technologique comme sur le coût de possession : vous ne payez aucune licence de serveur média, et la vidéo à faible latence est diffusée via vos propres serveurs plutôt que par un CDN coûteux facturé au gigaoctet.

WebRTC plutôt que HLS : de la vidéo en direct sans décalage

Avec le streaming HLS ou DASH, la vidéo parvient aux spectateurs avec des dizaines de secondes de retard. WebRTC transmet le flux en temps réel, avec une latence inférieure à la seconde. Pour un site webcam, c'est essentiel : les réactions du modèle au chat, aux pourboires et aux jouets Lovense, ainsi que les shows privés et de groupe, ne fonctionnent qu'en direct.

Diffuser et regarder dans n'importe quel navigateur

  • les spectateurs regardent dans le navigateur sur un ordinateur (Windows, macOS, Linux), un téléphone ou une tablette (Android, iOS) — sans plugin ni application ;
  • les modèles passent en direct depuis le navigateur — sur ordinateur ou sur téléphone, voir l'espace modèle ;
  • la qualité vidéo s'adapte au débit de chaque spectateur sans interrompre le flux pour les autres.

Stack technique de la plateforme

Les technologies et langages sur lesquels repose la plateforme webcam Krona.Chat :

Front-end

ReactJS

Le front-end des sites de la plateforme : le site webcam, les espaces modèle et partenaire.

Vidéo

WebRTC

Vidéo et audio en direct dans le navigateur avec une latence inférieure à la seconde.

Serveur média

Janus

Un serveur média WebRTC libre et gratuit qui fonctionne comme un SFU.

Répartition média

Répartiteur média Krona.Chat

Notre propre développement : il distribue les flux média entre les serveurs Janus par région.

Répartition du trafic

Cloudflare

Répartiteur de charge du trafic web pour les sites de la plateforme.

Back-end

PHP 8.5

Le langage côté serveur de la plateforme.

Flux média

C

Traitement des flux média et interaction avec le serveur Janus.

Base de données

MariaDB 11.x / 12.x

La base de données relationnelle de la plateforme.

Cluster BDD

Galera Cluster

Un cluster MariaDB Galera d'au moins trois serveurs pour une base de données résiliente.

Combien de serveurs média faut-il pour un site webcam ?

À titre indicatif, un serveur média dédié avec un port garanti de 1 Gbit/s offre environ 700 Mbit/s de bande passante utile sous charge soutenue. Le nombre de serveurs dépend des diffusions simultanées, du nombre de spectateurs et de la qualité choisie — du 480p au 4K.

Dimensionnez votre configuration selon votre charge avec le calculateur de serveurs.

Questions sur WebRTC et le serveur média

Quel serveur média Krona.Chat utilise-t-il ?

Janus WebRTC Server — un serveur média libre et gratuit qui fonctionne comme un SFU. Aucune licence de serveur média à payer, quel que soit le nombre de serveurs du cluster.

Comment fonctionne la répartition des flux WebRTC entre les serveurs ?

La plateforme Krona.Chat répartit la charge des flux média entre les serveurs Janus. Les flux sont distribués automatiquement sur des serveurs média situés dans différentes régions, et un cluster peut compter des centaines de serveurs.

Que se passe-t-il si un serveur média redémarre ?

Tous les flux que ce serveur servait reprennent automatiquement. De nouveaux serveurs peuvent être ajoutés au cluster, et tout serveur peut en être retiré pour maintenance.

Pourquoi WebRTC plutôt que HLS ?

WebRTC transmet la vidéo en temps réel avec une latence inférieure à la seconde, alors que HLS accuse des dizaines de secondes de retard. Pour un site webcam, l'interaction en direct entre le modèle et le spectateur — chat, pourboires, shows privés — n'est possible qu'avec WebRTC.

Combien de serveurs faut-il pour un site webcam ?

À titre indicatif, environ 700 Mbit/s de bande passante utile par serveur média doté d'un port de 1 Gbit/s. Le nombre exact dépend des diffusions, des spectateurs et de la qualité vidéo ; le calculateur de serveurs vous en donne une estimation.

Sur quel stack technique la plateforme repose-t-elle ?

Front-end — ReactJS, vidéo — WebRTC, serveur média — Janus avec le répartiteur média Krona.Chat, répartition du trafic web — Cloudflare, langage côté serveur — PHP 8.5, flux média et Janus — C, base de données — MariaDB 11.x / 12.x en cluster Galera.

Combien coûte la diffusion vidéo à faible latence ?

Le serveur média Janus est gratuit, et la vidéo est diffusée via vos propres serveurs à un coût de bande passante fixe plutôt que par un CDN facturé au gigaoctet. Le coût de possession des serveurs média et de la diffusion vidéo à faible latence reste ainsi bas, même lorsque l'audience augmente.