References
A collection of standards, papers, and resources relevant to Go-Live's design and implementation.
Standards and RFCs
| ID | Title | Relevance |
|---|---|---|
| RFC 3550 | RTP: A Transport Protocol for Real-Time Applications | Core transport protocol for media delivery |
| RFC 7667 | RTP Topologies | Defines SFU, MCU, and other topologies; Go-Live implements the SFU topology |
| RFC 8825 | Overview: Real-Time Protocols for Browser-Based Applications | WebRTC protocol overview |
| RFC 8826 | Security Considerations for WebRTC | WebRTC security model |
| RFC 8853 | Using Simulcast in SDP and RTP Sessions | Simulcast negotiation (Go-Live's single-publisher model avoids this complexity) |
| RFC 8829 | JSEP: JavaScript Session Establishment Protocol | SDP offer/answer model used in WebRTC |
| RFC 8838 | Trickle ICE | ICE candidate trickling (not used by Go-Live's WHIP/WHEP exchange) |
WebRTC Drafts
| ID | Title | Status |
|---|---|---|
| I-D.ietf-wish-whip | WebRTC-HTTP Ingestion Protocol (WHIP) | Implemented by Go-Live |
| I-D.ietf-wish-whep | WebRTC-HTTP Egress Protocol (WHEP) | Implemented by Go-Live |
WebRTC Implementation
| Resource | Description |
|---|---|
| Pion WebRTC | Go implementation of WebRTC — Go-Live's core dependency |
| WebRTC for the Curious | Open-source book explaining WebRTC internals |
| WebRTC.org | Official WebRTC project site |
Media Containers
| Resource | Description |
|---|---|
| IVF Container Format | Format used for VP8/VP9 recording |
| OGG Container Format | Format used for Opus audio recording |
| RFC 7587 | RTP Payload Format for the Opus Codec |
Observability
| Resource | Description |
|---|---|
| OpenTelemetry Specification | Distributed tracing standard used by Go-Live |
| Prometheus Best Practices | Metrics naming and instrumentation guidelines |
| Prometheus Go Client | Go library for Prometheus metrics |
Go Concurrency
| Resource | Description |
|---|---|
| Go Memory Model | Defines happens-before relationships for goroutine synchronization |
| Effective Go: Concurrency | Go concurrency patterns (goroutines, channels, mutexes) |
| sync.Mutex documentation | Used for room state protection in Go-Live |
Related Projects
| Project | Description |
|---|---|
| Janus Gateway | C-based WebRTC server with plugin architecture |
| mediasoup | C++/Node.js SFU for production conferencing |
| LiveKit | Full-featured open-source WebRTC platform |
| Pion ion-sfu | Go SFU library with simulcast support |