Skip to content

Protocol Overview

Monibuca V6 adopts a plugin-based architecture where each protocol is provided as an independent plugin. Pre-compiled binaries and Docker images include support for all protocols, which can be enabled on demand through configuration files.

ProtocolPublishSubscribeLatencyTypical Use Cases
RTMP1-3sOBS/FFmpeg publishing, live streaming distribution
RTSP0.5-2sCamera integration, security surveillance
HTTP-FLV1-3sWeb playback, low-latency live streaming
HLS5-30sLarge-scale distribution, mobile playback, CDN compatible
WebRTC< 500msUltra-low latency interaction, video conferencing
SRT120ms+Remote contribution, lossy network transport, broadcast-grade ingest
GB281811-3sNational standard video surveillance, platform cascading
WebTransport< 500msNext-generation low-latency web transport

Each protocol plugin can be enabled or disabled on demand in the configuration file:

# config.yaml — Enable protocols as needed
rtmp:
enable: true
tcp:
listenaddr: ":1935"
rtsp:
enable: true
tcp:
listenaddr: ":8554"
hls:
enable: true
webrtc:
enable: true
portrange: "udp:9000-9100"
# Set unwanted protocols to false or omit them
srt:
enable: false

Monibuca V6 supports automatic audio transcoding between different protocols to ensure cross-protocol playback compatibility.

WebRTC and WebTransport use Opus audio encoding, while traditional protocols such as RTMP, HTTP-FLV, and HLS use AAC audio encoding. When streams are forwarded between these protocols, the engine automatically performs audio transcoding:

ScenarioTranscoding DirectionDescription
WebRTC publish → RTMP subscribeOpus → AACAutomatic transcoding
WebRTC publish → HLS subscribeOpus → AACAutomatic transcoding
RTMP publish → WebRTC subscribeAAC → OpusAutomatic transcoding
RTMP publish → RTMP subscribeNo transcoding neededDirect forwarding
WebRTC publish → WebRTC subscribeNo transcoding neededDirect forwarding

To enable audio transcoding, activate the transcode feature:

[features]
transcode = ["codec/transcode"]

Video codecs (H.264/H.265) are universal across all protocols and do not require transcoding. Video codec support by protocol:

CodecRTMPRTSPHTTP-FLVHLSWebRTCSRTGB28181WebTransport
H.264
H.265
  • Publishing: RTMP is recommended (best compatibility) or SRT (more stable on lossy networks)
  • Web playback: HTTP-FLV (low latency) or HLS (high compatibility) is recommended
  • Ultra-low latency: WebRTC or WebTransport is recommended
  • Security surveillance: RTSP or GB28181 is recommended
  • Large-scale distribution: HLS is recommended (CDN-friendly)