Skip to content

Monibuca - High-Performance Streaming Media Server Engine

v6.0 · Rust Rewrite · Production Ready

Memory Safe · Lock-Free · Zero Copy

Rust-Powered
Full-Protocol Streaming Media Server

A complete rewrite from Go to Rust — compiler-guaranteed memory safety, lock-free RingBuffer with nanosecond-level zero-copy forwarding. From engine to Admin panel, Web SDK, and built-in Web player — fully self-developed, ready out of the box.

~100ns
Frame Write Latency
10K+
Concurrent Streams
25+
Built-in Plugins
8+
Protocols
Monibuca Streaming Engine

What v6 Brings

A complete rewrite from Go to Rust — every core capability is a generational leap

Forwarding · From Locked to Lock-Free

v5’s RingBuffer relied on Go RWMutex synchronization, causing visible lock contention under high-concurrency subscriptions. v6 uses lock-free RingBuffer + Arc<AVFrame> zero-copy sharing, ~100ns writes, completely eliminating lock overhead — subscriber count is no longer a bottleneck.

🛡️

Memory Safety · Compile-Time Guarantees

v5 runs on Go GC with Stop-the-World pauses; concurrent data races require the -race flag for runtime detection. v6 uses Rust ownership + Send/Sync traits to eliminate data races and memory leaks at compile time, with zero GC pauses.

🧩

Plugin System · Sandbox Isolation

v5 only supported compile-time static plugin registration, with plugins sharing the engine process without isolation. v6 adds dynamic loading + WASM sandbox modes on top of static compilation — third-party plugins run in sandboxes, crashes don’t affect the engine, with an independent open-source SDK crate.

🔗

Decoupled SDK · Open Contract Layer

v5 plugins registered via m7s.InstallPlugin, tightly coupled to engine internals. v6 abstracts an independent open-source monibuca-sdk — plugins depend only on the trait contract layer without touching the engine kernel, natively supporting cross-mode (static/dynamic/WASM) development.

🌐

Full-Stack Ecosystem · New Web SDK

v5 already had an Admin panel and basic Web playback. v6 fully upgrades Admin with real-time visual monitoring, evolves the built-in Web player, and adds a Web SDK enabling frontend integration with just a few lines of code — end-to-end out of the box.

📊

Full-Stack Monitoring · Built-in Dashboards

v5 relied on external tools for audio/video troubleshooting. v6 includes three-tier reporting (Heartbeat/Leave/KV) capturing bitrate, framerate, packet loss, and freeze metrics in real time, paired with three Admin dashboards — stream-level waveforms, room-level pair analysis, and site-wide operations overview — no third-party monitoring needed.

Version Comparison

A complete rewrite from Go to Rust, focusing on fundamental improvements. Still on v5 (Go)? v5.monibuca.com has v5 docs and downloads.

Dimensionv5 (Go)v6 (Rust)
LanguageGo 1.24, GC runtimeRust Zero-cost abstractions, compile-time memory safety
Memory ManagementGC collection, STW pausesOwnership System Deterministic destruction, zero GC
Concurrency SafetyRuntime -race detection, data races may reach productionCompile-time Guarantee Send/Sync traits eliminate data races
RingBufferRWMutex sync, lock contention under high concurrencyLock-free Atomic operations, zero contention
Frame SharingGo pointer passing, heavy GC tracking pressureArc<AVFrame> Reference-counted zero-copy, no GC involvement
Protocol Support8 protocols: RTMP / RTSP / HLS / FLV / WebRTC / SRT / GB28181 / WebTransport8 protocols Equal coverage, native Rust implementation
GB28181Full implementation: device access + cascading + voice intercomFull Implementation Rust rewrite, equal capabilities
Cluster SolutionQUIC cascading, Secret authenticationQUIC Cluster 0-RTT connection, auto load balancing
Plugin LoadingStatic compilation onlyThree Modes Static + Dynamic loading + WASM sandbox isolation
Plugin SDKSame repo as engine, InstallPlugin tight couplingIndependent SDK Trait contract layer, decoupled from engine kernel
Config Persistence6-layer priority, plugin configs file-only8-layer Priority Plugin configs persistable to DB, API changes survive restarts
Admin PanelEmbedded admin.zip, basic management UINew Admin Visual stream monitoring + config management + real-time dashboard
Monitoring & OpsNo built-in monitoring, relies on external toolsFull-stack Built-in Three-tier reporting + bitrate/framerate dashboards + ops overview + risk detection
Web PlayerCommunity Web player approachOfficial Web player New player, performance and protocol upgrades
Web SDKNo official Web SDKOfficial Web SDK Frontend streaming integration in a few lines of code
DeploymentSingle binary (Go build, ~17MB)Single Binary Rust build <20MB, equally zero-dependency

Full Protocol Coverage

Covers all mainstream streaming protocols with automatic cross-protocol transcoding for every use case

RTMP
Real-Time Messaging
PublishSubscribe
RTSP
Real-Time Streaming
PublishSubscribe
HLS
HTTP Adaptive Streaming
Subscribe
HTTP-FLV
HTTP Long-Connection Stream
Subscribe
WebRTC
Real-Time Communication WHIP/WHEP
PublishSubscribe
GB28181
China National Standard Surveillance
PublishSubscribe
SRT
Secure Reliable Transport
PublishSubscribe
WebTransport
Next-Gen QUIC-Based
PublishSubscribe

Performance Metrics

Lock-free RingBuffer + Dispatcher broadcast architecture, unleashing maximum hardware performance

~100ns
Frame Write Latency
Average time for Publisher to write to RingBuffer
~50ns
Frame Read Latency
Subscriber zero-copy read from RingBuffer
<1ms
End-to-End Distribution
Dispatcher single read, broadcast to all subscribers
10,000+
Concurrent Streams
Independent media streams handled simultaneously per node
10,000+
Subscribers per Stream
Maximum concurrent consumers per stream
0 copy
Zero-Copy Forwarding
Arc<AVFrame> reference counting, data delivered with zero copies

Application Scenarios

Broad industry coverage from live streaming to surveillance. Live rooms, meetings, and customer-service calls are built on the built-in Room service plus dedicated plugins, ready out of the box.

📺

Interactive live room

For show, e-commerce, and social streaming: the Live plugin extends the unified room model with gifts and combos, co-hosting and PK battles, bot viewers, and persistence—paired with WHIP/WebRTC publishing and plugin-style signaling and business logic.

  • Show / e-commerce / social streaming
  • Gift system & combo effects
  • Co-hosting & PK battles
  • Live chat & robot viewers
Live room docs
🤝

Video conferencing

The Meeting plugin adds enterprise meeting flows on top of Room: agendas and speaking timers, lobby and raise-hand, real-time transcription and AI minutes—supporting 50+ participants with recording and screen sharing.

  • Multi-party meetings, 50+ participants
  • Agenda management & speaker timer
  • Lobby & raise hand to speak
  • Real-time transcription & AI minutes
Meeting room docs
🎧

Online customer service

The CustomerService plugin delivers 1v1 audio/video support: visitor queues and agent assignment, WebRTC calls, transfers and satisfaction ratings, plus HTTP APIs and Admin session management—ideal for helpdesk, remote consultation, and after-sales.

  • Visitor queuing & agent assignment
  • WebRTC real-time audio/video calls
  • Screen sharing & file transfer
  • Call recording & quality analytics
Customer service docs

More scenarios

📹

Video Surveillance

  • GB28181 device access
  • RTSP camera streaming
  • Video storage and playback
  • Cascading platforms
🎬

Media Processing

  • Real-time audio/video transcoding
  • Protocol conversion gateway
  • MP4 recording and storage
  • AI video analysis
🏫

Online Education

  • Interactive classroom & screen sharing
  • Large class live distribution
  • Small class co-hosting
  • Course recording & playback

Full-Stack Monitoring & Operations

From per-frame waveforms on individual streams to site-wide operations dashboards — three built-in panels, no third-party monitoring needed

📈

Stream-Level Real-Time

Deep observation of every stream. Real-time waveform mode pushes per-frame data via SSE — red bars mark keyframes, blue bars mark regular frames. Historical stats mode shows bitrate, framerate, and GOP trend charts. Quickly diagnose insufficient bitrate, missing keyframes, and encoder anomalies.

BitrateFramerateGOPDropsKeyframes
🔍

Room-Level Pair Analysis

Select any sender-receiver pair to inspect the complete transmission link: encode vs decode bitrate, capture vs playback framerate, network RTT and packet loss. All charts sync via ECharts — drag any timeline and others follow, with event markers to help pinpoint root causes.

Pair AnalysisFreeze DetectionPacket LossRTTEvents
🏢

Live Operations Dashboard

Site-wide view for operations teams: live room count and audience in real time, today’s sessions and peak concurrent users, 7-day trend charts. Three perspectives (Operations / Risk / System) cover popularity rankings, anomaly detection, zero-viewer alerts — auto-refreshes every 10 seconds.

Overview7-Day TrendsRisk DetectionRankingsCSV Export
Heartbeat Reports
Real-time bitrate / framerate / packet loss / freeze
Leave Reports
Session snapshots / device info / SDK version
KV Reports
15+ event success rates & latency stats
JSON API
Integrate with external BI / alerting systems

System Architecture

Modular layered design, plugin-driven, flexibly extensible

Edition Comparison

Choose the right edition for your scale — all editions run on the same high-performance Rust engine

Free

Free

Free

For individual developers and small project evaluation

  • Up to 50 concurrent connections
  • Up to 3 rooms
  • No cluster support
  • All protocols included
  • All plugins (excl. Cluster)
  • Community support
Download Free
Enterprise

Enterprise

Contact Us

For large-scale deployments and custom requirements

  • Unlimited concurrent connections
  • Unlimited rooms
  • Cluster deployment supported
  • All protocols included
  • All plugins (incl. Cluster)
  • Dedicated technical support
Download trial

Ready to build your streaming service?

Start with the documentation and set up your streaming server in minutes.
Join the community and build the next generation of streaming applications with developers worldwide.

$docker run -d -p 8180:8180 -p 1935:1935 langhuihui/monibuca:v6