Implementação em Go da camada de execução do Ethereum, que funciona como nó full ou archive e oferece acesso via JSON-RPC e ferramentas para desenvolvedores.
pion/webrtc
Implementação pura em Go da API WebRTC para criar conexões P2P de áudio, vídeo e dados em tempo real.
- Estrelas
- 16,851
- Forks
- 1,912
- Issues abertas
- 107
- Último commit
- há 9 horas
O que é?
Pion WebRTC é uma biblioteca Go que implementa a API WebRTC e permite que programas em Go abram conexões peer-to-peer para transmitir áudio, vídeo e canais de dados arbitrários. Ela abrange a API PeerConnection, incluindo renegociação, DataChannels e SDP nos modos Plan-B e Unified Plan, além de um agente ICE completo e suporte a STUN e TURN sobre UDP, TCP, DTLS e TLS.
A biblioteca é escrita inteiramente em Go, sem Cgo, e pode ser compilada de forma cruzada para Windows, macOS, Linux, FreeBSD, iOS, Android, WebAssembly e várias outras arquiteturas. O suporte a mídia inclui acesso direto a RTP/RTCP, packetizers para Opus, PCM, H264, VP8 e VP9, além de leitores e gravadores para IVF, Ogg e Matroska. Ela também oferece recursos como simulcast, SVC, NACK, feedback de controle de congestionamento e estimativa de largura de banda.
O projeto usa a licença MIT e foi desenvolvido para quem precisa de WebRTC no lado do servidor ou em dispositivos embarcados, não apenas em navegadores.
Recursos principais
- 01API PeerConnection completa, com DataChannels, renegociação e suporte a Unified Plan
- 02Agente ICE completo, com STUN e TURN sobre UDP, TCP, DTLS e TLS
- 03Go puro, sem Cgo, com compilação para Windows, macOS, Linux, iOS, Android e WASM
- 04Acesso direto a RTP/RTCP e packetizers para Opus, H264, VP8 e VP9
- 05Suporte a IVF, Ogg e Matroska para enviar e salvar mídia
- 06Simulcast, SVC, NACK e estimativa de largura de banda
Casos de uso
- Transmitir a imagem de uma webcam de um dispositivo embarcado para um navegador
- Enviar arquivos de vídeo em tempo real para vários clientes de navegador
- Criar aplicações de processamento de mídia ou videoconferência com WebRTC no servidor
- Transferir dados com segurança entre dois servidores por canais de dados WebRTC
Início rápido
- 1
Ative o Go Modules configurando a variável de ambiente
export GO111MODULE=on - 2
Importe a biblioteca no seu projeto Go, especificando o caminho /v4
- 3
Confira os aplicativos de exemplo para conhecer os usos mais comuns
Antes de usar
- O Go Modules é obrigatório e, na versão atual, o caminho de importação deve incluir /v4.
- A versão 4 inclui alterações incompatíveis, portanto, quem usa a v3 deve consultar as tags da versão anterior.
- A implementação de getUserMedia requer Cgo.
Tópicos
Perguntas frequentes
- O que é webrtc?
- Implementação pura em Go da API WebRTC para criar conexões P2P de áudio, vídeo e dados em tempo real. Pion WebRTC é uma biblioteca Go que implementa a API WebRTC e permite que programas em Go abram conexões peer-to-peer para transmitir áudio, vídeo e canais de dados arbitrários. Ela abrange a API PeerConnection, incluindo renegociação, DataChannels e SDP nos modos Plan-B e Unified Plan, além de um agente ICE completo e suporte a STUN e TURN sobre UDP, TCP, DTLS e TLS.
- webrtc é gratuito? Qual é a licença?
- webrtc é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- webrtc ainda é mantido?
- Manutenção ativa. O último commit de webrtc foi em 21 de out. de 2026.
- Para que posso usar webrtc?
- Transmitir a imagem de uma webcam de um dispositivo embarcado para um navegador Enviar arquivos de vídeo em tempo real para vários clientes de navegador Criar aplicações de processamento de mídia ou videoconferência com WebRTC no servidor Transferir dados com segurança entre dois servidores por canais de dados WebRTC
- Como instalar webrtc?
- Ative o Go Modules configurando a variável de ambiente: export GO111MODULE=on Importe a biblioteca no seu projeto Go, especificando o caminho /v4 Confira os aplicativos de exemplo para conhecer os usos mais comuns
- Onde consigo webrtc?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pion/webrtc
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Servidor SFU WebRTC open source em Go para voz, vídeo e dados em tempo real, usado como base para conectar pessoas e agentes de IA.
Um CMS de vídeo e mídia completo e auto-hospedado, feito com Django e React para criar portais de compartilhamento de vídeos.
Template de Clean Architecture para serviços em Go, que mostra como organizar o código em transportes REST, gRPC, AMQP RPC e NATS RPC.
GoWA é uma API REST do WhatsApp auto-hospedada, escrita em Go, com suporte a várias contas, webhooks, MCP e integração com Chatwoot.
Editor de texto moderno e fácil de usar no terminal, distribuído como um único binário estático sem dependências e apresentado como sucessor do nano.