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.
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:
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.
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.
Recuperação automática de streams
Qualquer servidor pode ser reiniciado: todos os streams que ele atendia voltam automaticamente.
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:
ReactJS
O front-end dos sites da plataforma: o site de webcam e as áreas da modelo e de parceiros.
WebRTC
Vídeo e áudio ao vivo no navegador com latência abaixo de um segundo.
Janus
Um servidor de mídia WebRTC gratuito e open source que funciona como SFU.
Balanceador de mídia Krona.Chat
Desenvolvimento próprio: distribui os streams de mídia entre os servidores Janus por região.
Cloudflare
Balanceador de carga do tráfego web dos sites da plataforma.
PHP 8.5
A linguagem do lado do servidor da plataforma.
C
Processamento dos streams de mídia e integração com o servidor Janus.
MariaDB 11.x / 12.x
O banco de dados relacional da plataforma.
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.