Plataforma → Tecnologia

Tecnologia e WebRTC

A Krona.Chat é construída sobre streaming WebRTC ao vivo com o servidor de mídia Janus, gratuito e open source. Nós mesmos desenvolvemos o balanceamento de carga dos streams de mídia entre os servidores Janus: os streams são distribuídos automaticamente por centenas de servidores em diferentes regiões, e a latência fica abaixo de um segundo.

<500 msde latência típica entre a modelo e o espectador
Centenas de servidoresem um único cluster com balanceamento geográfico automático
$0em licenças de servidor de mídia: o Janus é open source

Janus — um servidor de mídia WebRTC gratuito e open source

Os streams passam pelo Janus WebRTC Server, um servidor de mídia open source. Ele é gratuito: não há taxas de licença no lançamento nem à medida que cresce o número de servidores, modelos e espectadores.

O Janus funciona como SFU (Selective Forwarding Unit): um único stream de entrada de uma modelo é encaminhado a muitos espectadores sem recodificação para cada um deles. Assim, um único servidor de mídia consegue atender a um grande público, e o vídeo chega aos espectadores com latência mínima.

Balanceamento de carga de streams de mídia entre servidores Janus

O Janus, por si só, não distribui streams entre servidores — nós incorporamos o balanceamento de carga de streams de mídia à plataforma Krona.Chat. Com ele, os servidores de mídia funcionam como um único cluster:

Escala

Centenas de servidores

A carga pode ser distribuída por centenas de servidores de mídia — mais transmissões e espectadores são atendidos com a adição de servidores.

Geo

Distribuição geográfica automática

Os streams são distribuídos automaticamente entre servidores em diferentes regiões, mais perto das modelos e dos espectadores.

Resiliência

Recuperação automática de streams

Qualquer servidor pode ser reiniciado: todos os streams que ele atendia voltam automaticamente.

Manutenção

Mudanças de servidores sem downtime

Novos servidores são facilmente adicionados ao cluster, e qualquer servidor pode ser retirado dele para manutenção.

Sem alternativa no mercado

Não existem plataformas de webcam prontas com balanceamento multisservidor de streams WebRTC sobre um servidor de mídia gratuito: as soluções conhecidas rodam em um único servidor de mídia e não escalam com a adição de servidores.

A solução multisservidor da Krona.Chat se destaca em tecnologia e em custo total de propriedade: você não paga licenças de servidor de mídia, e o vídeo de baixa latência é entregue pelos seus próprios servidores, e não por uma CDN cara cobrada por gigabyte.

WebRTC em vez de HLS: vídeo ao vivo sem atraso

Com streaming HLS ou DASH, o vídeo chega aos espectadores com dezenas de segundos de atraso. O WebRTC entrega o stream em tempo real, com latência abaixo de um segundo. Para um site de webcam isso é crucial: as reações da modelo ao chat, às gorjetas e aos brinquedos Lovense, assim como os shows privados e em grupo, só funcionam ao vivo.

Transmissão e visualização em qualquer navegador

  • os espectadores assistem no navegador, em um computador (Windows, macOS, Linux), celular ou tablet (Android, iOS) — sem plugins nem aplicativos;
  • as modelos entram ao vivo direto do navegador — no computador ou no celular; veja o painel da modelo;
  • a qualidade do vídeo se adapta à velocidade de conexão de cada espectador sem interromper o stream para os demais.

Stack tecnológica da plataforma

As tecnologias e linguagens sobre as quais a plataforma de webcam Krona.Chat é construída:

Front-end

ReactJS

O front-end dos sites da plataforma: o site de webcam e as áreas da modelo e de parceiros.

Vídeo

WebRTC

Vídeo e áudio ao vivo no navegador com latência abaixo de um segundo.

Servidor de mídia

Janus

Um servidor de mídia WebRTC gratuito e open source que funciona como SFU.

Balanceamento de mídia

Balanceador de mídia Krona.Chat

Desenvolvimento próprio: distribui os streams de mídia entre os servidores Janus por região.

Balanceamento de tráfego

Cloudflare

Balanceador de carga do tráfego web dos sites da plataforma.

Back-end

PHP 8.5

A linguagem do lado do servidor da plataforma.

Streams de mídia

C

Processamento dos streams de mídia e integração com o servidor Janus.

Banco de dados

MariaDB 11.x / 12.x

O banco de dados relacional da plataforma.

Cluster de BD

Galera Cluster

Um cluster MariaDB Galera com no mínimo três servidores para um banco de dados resiliente.

De quantos servidores de mídia um site de webcam precisa?

Como referência, um servidor de mídia dedicado com porta garantida de 1 Gbit/s oferece cerca de 700 Mbit/s de banda utilizável sob carga contínua. O número de servidores depende das transmissões simultâneas, dos espectadores e da qualidade escolhida — de 480p a 4K.

Dimensione a configuração para a sua carga com a calculadora de servidores.

Perguntas sobre WebRTC e servidor de mídia

Qual servidor de mídia a Krona.Chat usa?

O Janus WebRTC Server — um servidor de mídia gratuito e open source que funciona como SFU. Não há taxas de licença de servidor de mídia, independentemente de quantos servidores o cluster tenha.

Como funciona o balanceamento de streams WebRTC entre servidores?

A plataforma Krona.Chat faz o balanceamento de carga dos streams de mídia entre os servidores Janus. Os streams são distribuídos automaticamente entre servidores de mídia em diferentes regiões, e um cluster pode ter centenas de servidores.

O que acontece se um servidor de mídia reiniciar?

Todos os streams que esse servidor atendia voltam automaticamente. Novos servidores podem ser adicionados ao cluster, e qualquer servidor pode ser retirado para manutenção.

Por que WebRTC e não HLS?

O WebRTC entrega o vídeo em tempo real com latência abaixo de um segundo, enquanto o HLS atrasa dezenas de segundos. Em um site de webcam, a interação ao vivo entre modelo e espectador — chat, gorjetas, shows privados — só é possível com WebRTC.

De quantos servidores um site de webcam precisa?

Como referência, cerca de 700 Mbit/s de banda utilizável por servidor de mídia com porta de 1 Gbit/s. O número exato depende das transmissões, dos espectadores e da qualidade do vídeo; a calculadora de servidores fornece uma estimativa.

Sobre qual stack tecnológica a plataforma é construída?

Front-end — ReactJS; vídeo — WebRTC; servidor de mídia — Janus com o balanceador de mídia Krona.Chat; balanceamento do tráfego web — Cloudflare; linguagem do servidor — PHP 8.5; streams de mídia e Janus — C; banco de dados — MariaDB 11.x / 12.x em um cluster Galera.

Quanto custa a entrega de vídeo com baixa latência?

O servidor de mídia Janus é gratuito, e o vídeo é entregue pelos seus próprios servidores a um custo fixo de banda, e não por uma CDN cobrada por gigabyte. Isso mantém baixo o custo de manter servidores de mídia e entregar vídeo de baixa latência, mesmo com o crescimento do público.