Overview
Discover what makes OvenMediaEngine powerful
OvenMediaEngine (OME) is a high‑performance, sub‑second latency streaming server designed for large‑scale live video distribution. It ingests streams via WebRTC, SRT, RTMP, RTSP, and MPEG‑2 TS, then transcodes them on‑the‑fly to Adaptive Bitrate (ABR) representations and delivers the content over Low Latency HLS (LLHLS) or WebRTC. The engine is engineered to support hundreds of thousands of concurrent viewers while keeping latency under one second, making it ideal for live events, gaming broadcasts, and real‑time communication services.
Multi‑protocol ingestion
Embedded transcoder
Low‑latency delivery
Extensive media support
Overview
OvenMediaEngine (OME) is a high‑performance, sub‑second latency streaming server designed for large‑scale live video distribution. It ingests streams via WebRTC, SRT, RTMP, RTSP, and MPEG‑2 TS, then transcodes them on‑the‑fly to Adaptive Bitrate (ABR) representations and delivers the content over Low Latency HLS (LLHLS) or WebRTC. The engine is engineered to support hundreds of thousands of concurrent viewers while keeping latency under one second, making it ideal for live events, gaming broadcasts, and real‑time communication services.
Key Features
- Multi‑protocol ingestion: Push (WebRTC, WHIP, SRT, RTMP, E‑RTMP, MPEG‑2 TS/UDP) and pull (RTSP, OVT).
- Embedded transcoder: Hardware‑accelerated H.265 support; software fallback for VP8/H.264 and Opus/AAC.
- Low‑latency delivery: LLHLS with DVR, WebRTC over TCP (TURN), ULPFEC/Opus FEC, NACK retransmission.
- Extensive media support: Timed ID3 metadata, DRM (Widevine/Fairplay), WebVTT subtitles.
- Scalability: Origin‑edge clustering, REST API for channel management, admission webhooks, signed policies.
- Observability: Monitoring endpoints and file recording capabilities.
Technical Stack
OME is written primarily in C++ for performance‑critical media handling, with a lightweight HTTP/REST layer built on libmicrohttpd. The engine leverages FFmpeg for transcoding and demultiplexing, and integrates OpenSSL for secure transport. For WebRTC signalling, a custom WebSocket‑based server is embedded; TURN functionality is also bundled. The configuration system uses JSON/YAML files stored under /opt/ovenmediaengine/bin, enabling declarative channel and protocol definitions. Optional Docker images are available, simplifying deployment on Linux distributions such as Ubuntu 18+, Rocky/AlmaLinux 8+, and Fedora.
Core Capabilities & APIs
- REST API: Create, update, delete channels; retrieve statistics; manage access controls.
- WebSocket Signalling: Clients establish WebRTC sessions via a protocol that conforms to the OME specification, supporting simulcast and multiplexing.
- Admission Webhooks: Trigger external services on channel start/stop events for dynamic scaling or billing.
- Signed Policy: Generate URL‑based tokens to restrict playback and ingest access, similar to signed S3 URLs.
- Monitoring Endpoints:
/metricsexposes Prometheus‑compatible metrics for latency, throughput, and error rates.
Deployment & Infrastructure
OME is self‑hosted; the Docker image exposes all necessary ports (RTMP 1935, SRT 9999/UDP, WebRTC 9000/TCP, TURN 3478, LLHLS 3333). The engine can run as a single node or in an origin‑edge cluster where the origin handles ingestion/transcoding and edge nodes deliver content via LLHLS or WebRTC. For high availability, developers can deploy multiple OME instances behind a load balancer and use the REST API for dynamic channel routing. Storage of recorded streams or VOD dumps is configurable, supporting local filesystems or networked storage (NFS, S3‑compatible).
Integration & Extensibility
OME’s plugin architecture allows developers to extend functionality: custom authentication modules, third‑party DRM backends, or analytics collectors can be injected via shared libraries. The embedded WebRTC signalling server accepts custom metadata in SDP offers, enabling integration with media servers such as Janus or mediasoup for advanced routing. REST callbacks (webhooks) can notify downstream services like CDN edge caches, billing systems, or content moderation pipelines.
Developer Experience
Configuration is declarative and version‑controlled; JSON/YAML files can be stored in GitOps pipelines. The official documentation (GitBook) covers architecture, API reference, and troubleshooting. Community support is active on GitHub issues and Discord, with frequent releases that backport performance fixes and protocol enhancements. The licensing is permissive (Apache‑2.0), encouraging commercial deployment without royalty concerns.
Use Cases
- Live sports broadcasting: Deliver sub‑second commentary and replays to global audiences.
- E‑sports tournaments: Combine WebRTC low‑latency streams for interactive commentary with LLHLS for archival.
- Remote education: Real‑time classroom sessions with instant replay and adaptive bitrate for heterogeneous networks.
- Enterprise communications: Secure, low‑latency video conferencing with custom DRM and metadata injection.
Advantages Over Alternatives
- Latency: Sub‑second end‑to‑end latency, outperforming traditional HLS or even commercial WebRTC solutions.
- Unified stack: Single binary handles ingestion, transcoding, and delivery; no need for separate media servers.
- Licensing: Apache‑2.0 allows unrestricted commercial use, unlike proprietary platforms.
- Extensibility: Plugin system and webhook support enable tight integration with existing infrastructure.
- Scalability: Built‑in clustering and RESTful channel management simplify horizontal scaling.
OvenMediaEngine empowers developers to build robust, low‑latency streaming services with minimal operational overhead while retaining full control over media pipelines and deployment topology.
Open SourceReady to get started?
Join the community and start self-hosting OvenMediaEngine today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Genealogy
Build and share family trees with a modern PHP stack
Watcharr
Self-hosted watch list for movies, shows and games
Ampache
Stream your music and videos from any device
The Battle for Wesnoth
High‑fantasy, turn‑based strategy with single‑player and multiplayer
Zenphoto
Simple media CMS for personal websites
ToolJet
Build internal apps and AI agents in minutes