"Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition" OvenMediaEngine
What is OvenMediaEngine?
In short, OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition.
OvenMediaEngine receives a video/audio source from encoders and cameras such as OvenLiveKit, OBS, XSplit, and more to WebRTC, SRT, RTMP, MPEG-2 TS and RTSP. Then, OME transmits it over LLHLS (Low Latency HLS) and WebRTC.
Like the picture below: OvenMediaEngine supports you can create platforms/services/systems that transmit high-definition video to hundreds-thousand viewers with sub-second latency and be scalable, depending on the number of concurrent viewers.
What is the goal of this project?
AirenSoft aims to make it easier for you to build a stable broadcasting/streaming service with Sub-Second Latency. Therefore, we will continue developing and providing the most optimized tools for smooth Sub-Second Latency Streaming.
Would you please click on each link below for details:
- "Live Streaming Encoder for Mobile" OvenLiveKit
- "Large-Scale Streaming Server with Sub-Second Latency" OvenMediaEngine
- Push: WebRTC, SRT, RTMP, MPEG-2 TS
- Pull: RTSP
- Adaptive Bitrate Streaming(ABR) for LLHLS and WebRTC
- Low Latency Streaming using LLHLS
- Sub-Second Latency Streaming using WebRTC
- WebRTC over TCP (With Embedded TURN Server)
- Embedded WebRTC Signalling Server (WebSocket based)
- Retransmission with NACK
- ULPFEC (Uneven Level Protection Forward Error Correction)
- VP8, H.264
- In-band FEC (Forward Error Correction)
- Embedded Live Transcoder
- Video: VP8, H.264, Pass-through
- Audio: Opus, AAC, Pass-through
- Clustering (Origin-Edge Structure)
- Access Control
- Admission Webhooks
- Singed Policy
- File Recording
- RTMP Push Publishing (Re-streaming)
- REST API
- P2P Traffic Distribution (Only WebRTC)
We have tested OvenMediaEngine on the platforms listed below. However, we think it can work with other Linux packages as well:
- Ubuntu 18+
- CentOS 7+
- Fedora 28+
docker run -d \ -p 1935:1935 \ -p 3333:3333 \ -p 3334:3334 \ -p 3478:3478 \ -p 9000:9000 \ -p 9999:9999/udp \ -p 4000:4000/udp \ --name ovenmediaengine \ airensoft/ovenmediaengine:latest
You can also store the configuration files on your host:
docker run -d \ -p 1935:1935 \ -p 3333:3333 \ -p 3334:3334 \ -p 3478:3478 \ -p 9000:9000 \ -p 9999:9999/udp \ -p 4000:4000/udp \ -v ome-origin-conf:/opt/ovenmediaengine/bin/origin_conf \ -v ome-edge-conf:/opt/ovenmediaengine/bin/edge_conf \ --name ovenmediaengine \ airensoft/ovenmediaengine:latest
The configuration files are now accessible under
Following the above example, you will find them under
If you want to put them in a different location, the easiest way is to create a link:
ln -s /var/lib/docker/volumes/ome-origin-conf/_data/ /my/new/path/to/ome-origin-conf \ && ln -s /var/lib/docker/volumes/ome-edge-conf/_data/ /my/new/path/to/ome-edge-conf
Please read the Getting Started.
How to contribute
Thank you so much for being so interested in OvenMediaEngine.
- Finding Bugs
- Reviewing Code
- Sharing Ideas
- Improving Documentation
- Spreading & Use Cases
- Recurring Donations
We always hope that OvenMediaEngine will give you good inspiration.
For more information
- OvenMediaEngine Website
- Basic Information and Benchmark about OvenMediaEngine
- OvenMediaEngine Tutorial
- Getting Started, Install, and Configuration
- OvenMediaEngine Tutorial Source
- Please contribute by making a pull request for the user guide of our open-soure project
- OvenMediaEngine Docker Hub
- Install and use OvenMeidaEngine easily using Docker
- Test Player
- OvenPlayer Github
- AirenSoft Website
- AirenSoft's Solutions/Services, and AirenBlog (Tech Journal)