KamoCRM

Nossa própria videoconferência

Servidores de mídia WebRTC, relés TURN e o caminho ICE no meio

As videoconferências em KamoCRM são executadas na infraestrutura de mídia que operamos: uma unidade de encaminhamento seletivo, foco de conferência, relé TURN, componentes de gateway de gravação e streaming.A mídia em tempo real é a coisa menos indulgente na web e não há como aprendê-la, exceto executando-a.

Cada número aqui nomeia de onde veio e quando foi medido.
MedidaValorFonteMedido
Componentes de mídia em tempo real na produção6 (media server, conference focus, signalling, recording, telephony gateway, TURN relay)kubectl get deployments,statefulsets -n kamo
Servidor de streaming operado ao lado da conferência1 (MediaMTX, live streaming only)kubectl get deployments -n kamo

Que edifício nos ensinou

Uma solicitação da web que leva mais duzentos milissegundos não é notável; duzentos milissegundos de jitter em uma chamada é uma discussão sobre quem está falando sobre quem. A conectividade é negociada em vez de configurada — endereços candidatos são coletados, caminhos são testados, um relé é usado quando um caminho direto não pode ser encontrado — e os modos de falha são assimétricos e irritantes.

A falha que mais aprendemos foi uma conferência que terminou quando a segunda pessoa entrou, parecia um bug de aplicativo e não era: o servidor de mídia havia se marcado como não operacional e o foco da conferência, não tendo para onde rotear um segundo fluxo, quebrou a conferência. A lição foi sobre a ordem de diagnóstico — verifique o próprio ponto final de integridade do servidor de mídia antes de ler uma linha de código de aplicativo — e isso se generaliza a todos os sistemas distribuídos em que trabalhamos desde então.

A gravação é onde as obrigações de privacidade se tornam concretas, em vez de teóricas, porque uma gravação é um documento sobre pessoas identificáveis que alguém agora tem que armazenar legalmente, e isso é uma restrição de design muito antes de ser um documento de política.

Construído com

  • WebRTC
  • Jitsi Videobridge
  • Jicofo
  • Prosody
  • coturn
  • MediaMTX
  • XMPP
  • ICE
  • SRTP

O que isso nos qualifica para

Real-time systemsLive data, messaging, presence and media — the unforgiving end of the webCustom web applicationsThe system your business actually runs on, built properlyMobile applicationsCross-platform where it makes sense, native where it does not

Diga-nos o que você está tentando fazer

Uma breve conversa geralmente é suficiente para dizer se somos as pessoas certas, se não formos, diremos isso e indicaremos um lugar melhor.

Iniciar uma conversaEu já uso KamoCRMComo citamos