Um SFU compatível com WebRTC que encaminha streams de vídeo para videoconferências em larga escala e é usado como backend do Jitsi Meet.
meetecho/janus-gateway
Servidor de mídia WebRTC de código aberto e uso geral, escrito em C, com arquitetura de plugins para conferências, streaming e gateways SIP.
- Estrelas
- 9,201
- Forks
- 2,636
- Issues abertas
- 30
- Último commit
- há 12 horas
O que é?
Janus é um servidor WebRTC de uso geral desenvolvido pela Meetecho. Ele funciona como um gateway de mídia que retransmite áudio, vídeo e dados entre clientes WebRTC e outros sistemas, cuidando do ICE, DTLS e SRTP exigidos pelo WebRTC. Seu núcleo é enxuto, e a maior parte da lógica da aplicação fica em plugins carregados em tempo de execução.
O servidor inclui plugins para salas de videoconferência, streaming de mídia, gateways de telefonia SIP, pontes de áudio, gravação e outros casos de uso. Também pode ser estendido com plugins personalizados escritos em C, Lua ou Duktape. Os clientes controlam o servidor por uma API baseada em JSON, acessível via HTTP REST, WebSockets, MQTT, RabbitMQ ou Nanomsg, dependendo das bibliotecas opcionais compiladas.
O Janus é voltado para Linux e também pode ser compilado no macOS; no Windows, o suporte é apenas via WSL. Recursos opcionais, como Data Channels, WebSockets, MQTT e RabbitMQ, podem ser ativados ou desativados durante a configuração, e o projeto inclui páginas de demonstração na pasta html para testes.
Recursos principais
- 01Arquitetura de plugins com plugins para salas de vídeo, streaming, gateway SIP e ponte de áudio
- 02API de controle acessível via HTTP REST, WebSockets, MQTT, RabbitMQ ou Nanomsg
- 03Suporte opcional a WebRTC Data Channels via usrsctp
- 04Plugins personalizados podem ser escritos em C, Lua ou Duktape
- 05Configuração flexível do tratamento de ICE, incluindo ICE Lite, opções de TURN/STUN e NAT 1:1
- 06Suporte opcional a BoringSSL e ajuste das retransmissões de DTLS
Casos de uso
- Criar um backend de videoconferência com vários participantes usando WebRTC
- Retransmitir streams WebRTC ao vivo para espectadores ou a partir de fontes RTSP
- Conectar clientes WebRTC em navegadores a sistemas de telefonia SIP
- Executar um serviço personalizado de mídia WebRTC com plugins no servidor
Início rápido
- 1
Instale as dependências necessárias para sua distribuição (por exemplo, pacotes do Ubuntu/Debian).
apt install libmicrohttpd-dev libjansson-dev libssl-dev libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev libconfig-dev pkg-config libtool automake - 2
Clone o repositório do Janus.
git clone https://github.com/meetecho/janus-gateway.git - 3
Gere o script configure e, em seguida, configure, compile e instale.
sh autogen.sh && ./configure --prefix=/opt/janus && make && make install - 4
Instale os arquivos de configuração padrão.
make configs
Antes de usar
- É voltado para Linux: o Windows não é compatível; somente WSL é suportado.
- É necessário compilar a partir do código-fonte, com muitas dependências opcionais de C.
Em coleções
Tópicos
Perguntas frequentes
- O que é janus-gateway?
- Servidor de mídia WebRTC de código aberto e uso geral, escrito em C, com arquitetura de plugins para conferências, streaming e gateways SIP. Janus é um servidor WebRTC de uso geral desenvolvido pela Meetecho. Ele funciona como um gateway de mídia que retransmite áudio, vídeo e dados entre clientes WebRTC e outros sistemas, cuidando do ICE, DTLS e SRTP exigidos pelo WebRTC. Seu núcleo é enxuto, e a maior parte da lógica da aplicação fica em plugins carregados em tempo de execução.
- janus-gateway é gratuito? Qual é a licença?
- janus-gateway é open source sob a licença GPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- janus-gateway ainda é mantido?
- Manutenção ativa. O último commit de janus-gateway foi em 7 de nov. de 2026.
- Para que posso usar janus-gateway?
- Criar um backend de videoconferência com vários participantes usando WebRTC Retransmitir streams WebRTC ao vivo para espectadores ou a partir de fontes RTSP Conectar clientes WebRTC em navegadores a sistemas de telefonia SIP Executar um serviço personalizado de mídia WebRTC com plugins no servidor
- Como instalar janus-gateway?
- Instale as dependências necessárias para sua distribuição (por exemplo, pacotes do Ubuntu/Debian).: apt install libmicrohttpd-dev libjansson-dev libssl-dev libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev libconfig-dev pkg-config libtool automake Clone o repositório do Janus.: git clone https://github.com/meetecho/janus-gateway.git Gere o script configure e, em seguida, configure, compile e instale.: sh autogen.sh && ./configure --prefix=/opt/janus && make && make install Instale os arquivos de configuração padrão.: make configs
- Onde consigo janus-gateway?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/meetecho/janus-gateway
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma plataforma de telecomunicações definida por software que transforma hardware comum em um switch SIP/VoIP, de Raspberry Pi a servidores multicore.
Kamailio é um servidor open source de sinalização SIP para grandes plataformas de VoIP, telefonia e comunicação em tempo real.
Servidor de videoconferência auto-hospedado, escrito em Go, que usa WebRTC com um cliente no navegador.
Servidor de videoconferência web open source e auto-hospedado, desenvolvido com LiveKit, com agente de IA opcional para tradução, transcrição e resumos.
Cliente de sala de aula online e open source para Web, Windows e macOS, baseado em áudio, vídeo e mensagens em tempo real da Agora.