finds.dev← search

// the find

notedit/media-server-go

★ 554 · Go · GPL-2.0 · updated Jul 2020

WebRTC media server for go

Go bindings for the Medooze C++ media server, wrapping the native library via SWIG to expose WebRTC SFU functionality — transport management, recording, RTMP/HLS transcoding — from Go. Aimed at developers who want to build WebRTC infrastructure in Go without writing their own media stack.

The SWIG wrapper approach means you get a battle-tested C++ media engine (Medooze) rather than a pure-Go reimplementation of SRTP, RTP packetization, and codec handling. Demo coverage is solid — broadcast, recording, RTMP ingestion, server relay, and HLS output are all there with working examples. The packetizer package (H.264, VP8, Opus) is a useful standalone piece. SRTP, OpenSSL, and mp4v2 are vendored as submodules, so the build is self-contained once dependencies are met.

Dead since July 2020 — six years without a commit is not 'maintenance mode', it's abandoned. The SWIG binding layer is a CGo footgun: debugging crashes means context-switching between Go stack traces and C++ core dumps, and you lose goroutine-level concurrency safety guarantees at every native call boundary. Installation is emphatically not `go get` — you need autoconf, libtool, g++ 7+, and a manual `make` step, which rules out any CI environment that doesn't have those set up. No Windows support at all. If you need an actively maintained Go WebRTC SFU today, look at ion-sfu or Pion instead.

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 →