Repolode
meetecho

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. 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. 2

    Clone o repositório do Janus.

    git clone https://github.com/meetecho/janus-gateway.git
  3. 3

    Gere o script configure e, em seguida, configure, compile e instale.

    sh autogen.sh && ./configure --prefix=/opt/janus && make && make install
  4. 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