finds.dev← search

// the find

elixir-webrtc/ex_webrtc

★ 472 · Elixir · Apache-2.0 · updated Jun 2026

An Elixir implementation of the W3C WebRTC API

A pure-Elixir implementation of the W3C WebRTC API, built by Software Mansion (the React Native core contributors). Targets Elixir developers who want to handle real-time audio/video on the server side — SFU-style forwarding, recording, or processing — without depending on Membrane or native WebRTC bindings.

1. Mirrors the W3C/JS API closely, so if you know browser WebRTC, the mental model transfers directly. 2. The RTP layer is fully in Elixir: separate payloader/depayloader behaviours for H264, VP8, AV1, Opus, G711, with jitter buffer and NACK handling implemented explicitly — not a black box. 3. TWCC (transport-wide congestion control) is implemented with dedicated send/receive log modules, which most WebRTC ports at this star count skip entirely. 4. DataChannel support is optional and gated behind a separate `ex_sctp` dep, so you don't pull in a Rust compiler for the common audio/video-only case.

1. DataChannels require Rust to compile `ex_sctp` — that's a real operational burden in containerized deployments where you'd otherwise have a pure-BEAM build. 2. VP9 is absent from the codec list; H264 support is decode-only (no payloader), so if you're trying to re-encode or transcode server-side you'll hit a wall fast. 3. 472 stars and 34 forks is thin for infrastructure this foundational — the bus factor is essentially Software Mansion, and the roadmap issue is the only signal of what's coming. 4. No SFU abstractions are included; the library gives you `PeerConnection` and RTP building blocks but you wire up the forwarding logic yourself, which is correct design but means the WHIP/WHEP example is about as high-level as the docs get.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →