10 STREAMING PROTOCOLS
Interactive demonstrations of every streaming protocol the ms engine supports — from legacy RTMP to cutting-edge MoQ/QUIC. Each demo shows how the protocol works, its transport mechanism, and how to use it with the ms binary.
Apple's adaptive streaming protocol. Splits video into small TS segments (.ts) served with an M3U8 playlist. The browser requests segments sequentially, enabling adaptive bitrate switching.
ms streaming hls input.mp4 hls/ --segment-duration 4
MPEG-DASH is an international standard for adaptive streaming. Uses MPD (Media Presentation Description) XML manifests to describe available representations and segment URLs.
ms streaming dash input.mp4 dash/ --segment-duration 4
WHEP is a standardized protocol for WebRTC playback. The client sends an SDP offer via HTTP POST to the server, receives an SDP answer, and media flows peer-to-peer over WebRTC with sub-second latency.
ms streaming whep --endpoint https://server/whep
WHIP is the ingest counterpart to WHEP. The publisher captures camera/mic via getUserMedia, creates an RTCPeerConnection, and POSTs the SDP offer to the WHIP endpoint. The server then retranscodes for HLS/DASH delivery.
ms streaming whip --source camera --endpoint https://server/whip
MoQ is an IETF draft protocol for low-latency media transport over QUIC. Uses WebTransport in browsers for sub-second delivery. Media is encoded with CMAF-compatible fMP4 and delivered via QUIC datagrams or streams.
ms streaming moq --port 4433ms streaming moq-publish hls/ --relay https://localhost:4433
RTMP is Adobe's legacy protocol for Flash-based streaming. Still widely used for ingest (OBS → server). Operates over persistent TCP connections with FLV container framing. Not playable in modern browsers without Flash.
rtmp://server/live/stream_key
ms streaming rtmp ingest --server rtmp://server/live --key stream_key
SRT is an open-source protocol for reliable video transport over unreliable networks. Uses ARQ (Automatic Repeat reQuest) for packet recovery, AES encryption, and operates on UDP with sub-second latency. Designed for broadcast contribution links.
srt://0.0.0.0:9000?mode=listener&latency=120
ms streaming srt listen --port 9000 --latency 120
ms streaming srt call --host 192.168.1.100 --port 9000
NMOS (IS-04/IS-05) provides REST APIs for device discovery and connection management in professional broadcast IP workflows. IS-04 registers senders/receivers, IS-05 manages connection routing. Media flows over ST 2110.
{
"id": "ms-broadcast-001",
"label": "ms broadcast node",
"description": "MediaStream Engine broadcast",
"tags": { " rack": "1", "room": "studio-a" },
"senders": ["ms-sender-video", "ms-sender-audio"],
"receivers": ["ms-receiver-video"]
}
ms broadcast nmos --registry http://reg.local:8000
ms broadcast nmos senders --registry http://reg.local:8000
SMPTE ST 2110 is the broadcast industry standard for professional media over IP networks. Separates video (2110-20), audio (2110-30), and ancillary data (2110-40) into independent RTP streams, enabling flexible routing and processing.
ms broadcast st2110 --interface eth0
ms broadcast st2110 transmit --multicast 239.1.1.1 --port 5000
IPMX (IP Media Experience) is an interoperability profile built on SMPTE ST 2110, designed for the Pro AV industry. Based on the AIMS Alliance specifications, it provides plug-and-play AV over IP for presentation, signage, and live event environments.
ms broadcast ipmx --interface eth0
ms broadcast ipmx discover --registry http://reg:8000
| Protocol | Transport | Latency | Adaptive | Browser | Encryption | Use Case |
|---|---|---|---|---|---|---|
| HLS | HTTP | 2-30s | Yes | ✅ | TLS | General streaming |
| DASH | HTTP | 2-30s | Yes | ✅ | TLS | General streaming |
| WHEP | WebRTC | 200-500ms | Yes | ✅ | DTLS-SRTP | Live playback |
| WHIP | WebRTC | <500ms | — | ✅ | DTLS-SRTP | Live ingest |
| MoQ | QUIC/HTTP3 | <500ms | Yes | ⚠️ | TLS 1.3 | Next-gen streaming |
| RTMP | TCP | 1-3s | No | ❌ | None/TLS | Legacy ingest |
| SRT | UDP+ARQ | 60-500ms | No | ❌ | AES-128/256 | Broadcast contrib |
| NMOS | REST/HTTP | — | — | ✅ | TLS | Device discovery |
| ST 2110 | RTP/UDP | <1ms | No | ❌ | MACsec | Pro broadcast |
| IPMX | RTP/UDP | <1ms | No | ❌ | MACsec | Pro AV over IP |