Skip to main content

Introduction

What is OvenMediaEngine?​

OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. With OME, 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.

OvenMediaEngine can receive a video/audio, video, or audio source from encoders and cameras such as OvenLiveKit, OBS, XSplit, and more, to WebRTC, SRT, RTMP, MPEG-2 TS, and RTSP as Input. Then, OME transmits this source using LLHLS (Low Latency HLS) and WebRTC as output. Also, we provide OvenPlayer, an Open-Source and JavaScript-based WebRTC/LLHLS Player for OvenMediaEngine.

Our goal is to make it easier for you to build a stable broadcasting/streaming service with sub-second latency.

Features​

  • Ingest
    • Push: WebRTC, WHIP (Simulcast), SRT, RTMP, E-RTMP, MPEG-2 TS
    • Pull: RTSP
    • Scheduled Channel (Pre-recorded Live)
    • Multiplex Channel (Duplicate stream / Mux tracks)
  • Adaptive Bitrate Streaming (ABR) for HLS, LLHLS and WebRTC
  • Low-Latency Streaming using LLHLS
    • DVR (Live Rewind)
    • Dump for VoD
    • ID3v2 timed metadata
    • DRM (Widevine, FairPlay, PlayReady)
  • Sub-Second Latency Streaming using WebRTC
    • WebRTC over TCP (with embedded TURN server)
    • Embedded WebRTC Signaling Server (WebSocket based)
    • Retransmission with NACK
    • ULPFEC (Uneven Level Protection Forward Error Correction)
      • VP8, H.264, H.265
    • In-band FEC (Forward Error Correction)
      • Opus
  • HLS (version 3) Streaming support for legacy devices
    • MPEG-2 TS Container
    • Audio/Video Muxed
    • DVR (Live Rewind)
  • Sub-Second Latency Streaming using SRT
    • Secure Reliable Transport
    • MPEG-2 TS Container
    • Audio/Video Muxed
  • Enhanced RTMP (E-RTMP) for Advanced Codec Support
    • H.264, H.265, AV1, AAC
    • More codec support will be added continuously
  • Embedded Live Transcoder
    • Video: VP8, H.264, H.265 (Hardware only), AV1, Pass-through
    • Audio: Opus, AAC, Pass-through
  • Clustering (Origin-Edge Structure)
  • Monitoring
  • Access Control
    • AdmissionWebhooks
    • SignedPolicy
  • File Recording
  • Push Publishing using SRT, RTMP and MPEG2-TS (Re-streaming)
  • Thumbnail
  • REST API

Supported Platforms​

Building OvenMediaEngine requires libstdc++ 10 or newer. We test on the platforms listed below, and other Linux distributions with a comparable toolchain are likely to work as well:

Platforms that are no longer supported

Ubuntu 18.04 / 20.04, Rocky Linux / AlmaLinux / RHEL 8 and Amazon Linux 2 ship libstdc++ 9 or older. OvenMediaEngine stops at the CMake configure step on those systems, because predicate-based wait_until() busy-spins there instead of waiting (GCC PR 91906). Use the Docker image instead.

Fedora 44 is not supported yet: jemalloc 5.3.0 does not compile against its libstdc++.

Getting Started​

Please read Getting Started chapter in the tutorials.

How to Contribute​

Thank you so much for being so interested in OvenMediaEngine.

We need your help to keep and develop our open-source project, and we want to tell you that you can contribute in many ways. Please see our Guidelines, Rules, and Contribute.

We always hope that OvenMediaEngine will give you good inspiration.

For more information​

License​

OvenMediaEngine is licensed under the AGPL-3.0-only. However, if you need another license, please feel free to email us at contact@ovenmedia.com.