Open source Go WebRTC SFU server for realtime voice, video, and data, used as the backbone for connecting people and AI agents.
langhuihui/monibuca
A modular, extensible Go framework for building streaming media servers supporting RTMP, RTSP, HLS, WebRTC and more.
- Stars
- 2,419
- Forks
- 352
- Open issues
- 22
- Last commit
- 30 days ago
What is it?
Monibuca is a streaming server framework written in Go, designed so that functionality is loaded as plugins on demand. It handles ingest and distribution of live streams across protocols including RTMP, RTSP, HTTP-FLV, WS-FLV, HLS, WebRTC, SRT, GB28181 and ONVIF.
Beyond live forwarding, it provides recording to MP4, HLS and FLV, time-shift playback through a dynamic cache, screenshots, transcoding, stream aliases, and stream authentication. Cluster features include cascade relaying and room management, and a gRPC interface allows integration from other languages. WebHook callbacks report stream lifecycle events to business systems.
The project includes a Web UI served from an admin.zip file, Prometheus metrics at /api/metrics, and a build-tag system for choosing database backends such as SQLite, MySQL, PostgreSQL or DuckDB. Plugins can be developed to extend it, and the project is licensed under AGPL-3.0.
Key features
- 01Plugin-based architecture where features are loaded on demand
- 02Supports RTMP, RTSP, HTTP-FLV, HLS, WebRTC, SRT, GB28181 and ONVIF
- 03Records streams to MP4, HLS and FLV with seeking and speed control
- 04Live time-shift playback through a dynamic cache
- 05Built-in gRPC interface, WebHook events and Prometheus metrics
Use cases
- Building a custom live streaming platform or video surveillance backend
- Relaying and distributing RTSP or RTMP camera streams to browsers over HLS or WebRTC
- Recording live streams to MP4 or HLS for later playback
- Integrating stream lifecycle events into an existing business system via WebHook
Topics
FAQ
- What is monibuca?
- A modular, extensible Go framework for building streaming media servers supporting RTMP, RTSP, HLS, WebRTC and more. Monibuca is a streaming server framework written in Go, designed so that functionality is loaded as plugins on demand. It handles ingest and distribution of live streams across protocols including RTMP, RTSP, HTTP-FLV, WS-FLV, HLS, WebRTC, SRT, GB28181 and ONVIF.
- Is monibuca free to use? What license does it have?
- monibuca is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is monibuca still maintained?
- Actively maintained. The last commit to monibuca was on Sep 22, 2026.
- What can I use monibuca for?
- Building a custom live streaming platform or video surveillance backend Relaying and distributing RTSP or RTMP camera streams to browsers over HLS or WebRTC Recording live streams to MP4 or HLS for later playback Integrating stream lifecycle events into an existing business system via WebHook
- Where can I get monibuca?
- The source code and installation instructions are on GitHub: https://github.com/langhuihui/monibuca
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Browser-based peer-to-peer video tool that sends remote camera and phone feeds into OBS, vMix and other studio software over WebRTC with low latency.
A pure Go implementation of the WebRTC API for building real-time audio, video and data peer-to-peer connections.
Modular, composable open-source media player framework for the Web and React, from the Video.js project (v10).
A free, open-source multi-protocol download manager in Rust supporting HTTP, FTP, BitTorrent, eD2K and HLS/DASH streams, with browser integration.
Free, open-source private screen sharing for live streams with up to 20 friends, watched in a browser or self-hosted.