Repolode
pion

pion/webrtc

Implementación pura en Go de la API WebRTC para crear conexiones P2P de audio, video y datos en tiempo real.

Estrellas
16,851
Forks
1,912
Issues abiertos
107
Último commit
hace 9 horas

¿Qué es?

Pion WebRTC es una biblioteca de Go que implementa la API WebRTC y permite que los programas en Go establezcan conexiones P2P para transmitir audio, video y canales de datos arbitrarios. Incluye la API PeerConnection, con renegociación, DataChannels y compatibilidad con SDP Plan-B y Unified Plan, además de un agente ICE completo y STUN y TURN sobre UDP, TCP, DTLS y TLS.

La biblioteca está escrita íntegramente en Go, sin Cgo, por lo que se puede compilar de forma cruzada para Windows, macOS, Linux, FreeBSD, iOS, Android, WebAssembly y otras arquitecturas. La compatibilidad con medios incluye acceso directo a RTP/RTCP, packetizers para Opus, PCM, H264, VP8 y VP9, y lectores y escritores para IVF, Ogg y Matroska. También ofrece funciones como simulcast, SVC, NACK, feedback de control de congestión y estimación de ancho de banda.

El proyecto usa la licencia MIT y está pensado para desarrolladores que necesitan WebRTC en el servidor o en dispositivos integrados, no solo en navegadores.

Funciones clave

  • 01API PeerConnection completa, con DataChannels, renegociación y compatibilidad con Unified Plan
  • 02Agente ICE completo con STUN y TURN sobre UDP, TCP, DTLS y TLS
  • 03Go puro, sin Cgo, con compilación para Windows, macOS, Linux, iOS, Android y WASM
  • 04Acceso directo a RTP/RTCP y packetizers para Opus, H264, VP8 y VP9
  • 05Compatibilidad con IVF, Ogg y Matroska para enviar y guardar medios
  • 06Simulcast, SVC, NACK y estimación de ancho de banda

Casos de uso

  • Transmitir en vivo desde una webcam conectada a un dispositivo integrado hasta un navegador
  • Enviar archivos de video en tiempo real a varios clientes de navegador
  • Crear aplicaciones de procesamiento de medios o videoconferencia con WebRTC en el servidor
  • Transferir datos de forma segura entre dos servidores mediante canales de datos de WebRTC

Inicio rápido

  1. 1

    Activa Go Modules configurando la variable de entorno

    export GO111MODULE=on
  2. 2

    Importa la biblioteca en tu proyecto de Go e incluye la ruta /v4

  3. 3

    Explora las aplicaciones de ejemplo para conocer los usos más comunes

Antes de usarlo

  • Go Modules es obligatorio y, en la versión actual, la ruta de importación debe incluir /v4.
  • La versión 4 incluye cambios incompatibles, por lo que quienes usen v3 deben consultar las etiquetas de la versión anterior.
  • La implementación de getUserMedia requiere Cgo.

Temas

Preguntas frecuentes

¿Qué es webrtc?
Implementación pura en Go de la API WebRTC para crear conexiones P2P de audio, video y datos en tiempo real. Pion WebRTC es una biblioteca de Go que implementa la API WebRTC y permite que los programas en Go establezcan conexiones P2P para transmitir audio, video y canales de datos arbitrarios. Incluye la API PeerConnection, con renegociación, DataChannels y compatibilidad con SDP Plan-B y Unified Plan, además de un agente ICE completo y STUN y TURN sobre UDP, TCP, DTLS y TLS.
¿webrtc es gratuito? ¿Qué licencia tiene?
webrtc es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿webrtc sigue mantenido?
Mantenimiento activo. El último commit de webrtc fue el 21 oct 2026.
¿Para qué puedo usar webrtc?
Transmitir en vivo desde una webcam conectada a un dispositivo integrado hasta un navegador Enviar archivos de video en tiempo real a varios clientes de navegador Crear aplicaciones de procesamiento de medios o videoconferencia con WebRTC en el servidor Transferir datos de forma segura entre dos servidores mediante canales de datos de WebRTC
¿Cómo se instala webrtc?
Activa Go Modules configurando la variable de entorno: export GO111MODULE=on Importa la biblioteca en tu proyecto de Go e incluye la ruta /v4 Explora las aplicaciones de ejemplo para conocer los usos más comunes
¿Dónde consigo webrtc?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pion/webrtc

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados