"Sub-Second Latency Streaming Server" OvenMediaEngine
What is OvenMediaEngine?
In short, OvenMediaEngine (OME) is Open-Source Streaming Server with Sub-Second Latency.
OME receives a video/audio source from encoders and cameras such as OvenStreamEncoder, OBS, XSplit, and more to WebRTC, RTMP, SRT, MPEG-2 TS Beta, or RTSP Beta. Then, OME transmits it using WebRTC, Low Latency MPEG-DASH (LLDASH), MPEG-DASH, and HLS.
We also provide OvenPlayer, Open-Source HTML5 Player that is very synergistic with OME.
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 SDK
- "Sub-Second Latency Streaming Server" OvenMediaEngine
- "HTML5 Player" OvenPlayer
- Push: WebRTC, RTMP, SRT, MPEG-2 TS
- Pull: RTSP
- Sub-Second Streaming with WebRTC
- WebRTC over TCP (with Embedded TURN Server)
- ICE (Interactive Connectivity Establishment)
- DTLS (Datagram Transport Layer Security)
- SRTP (Secure Real-time Transport Protocol)
- ULPFEC (Uneven Level Protection Forward Error Correction)
- VP8, H.264
- In-band FEC (Forward Error Correction)
- Embedded WebRTC Signalling Server (WebSocket based)
- Low Latency Streaming with MPEG-DASH (Chunked CAMF)
- Legacy Streaming with MPEG-DASH/HLS
- Embedded Live Transcoder
- VP8, H.264, Opus, AAC, Bypass
- Origin-Edge structure
- File Recording
- RTMP Push Publishing (Re-streaming)
- REST API
- P2P Traffic Distribution (Only WebRTC)
We have tested OME 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 3478:3478 \ -p 8080:8080 \ -p 9000:9000 \ -p 9999:9999/udp \ -p 4000-4005:4000-4005/udp \ -p 10006-10010:10006-10010/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 3478:3478 \ -p 8080:8080 \ -p 9000:9000 \ -p 9999:9999/udp \ -p 4000-4005:4000-4005/udp \ -p 10006-10010:10006-10010/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, FAQ, and Benchmark about OvenMediaEngine
- OvenMediaEngine Tutorial
- Getting Started, Install, and Configuration
- OvenMediaEngine Tutorial Source
- Please make a pull request for the manual of this project. Thanks in advance for your contribution.
- Test Player
- OvenPlayer Github
- Open-Source HTML5 Player
- AirenSoft Website
- AirenSoft's Solutions/Services, and Blog (Tech Journal)
OvenMediaEngine is licensed under the GPLv3 or later.