Sign inSign up

ovenmedialabs/ovenmediaengine

By ovenmedialabs

•Updated 25 minutes ago

Open-Source, WebRTC, LL-HLS, and SRT Live Streaming Server with Large-Scale and High-Definition

Image
Networking
Integration & delivery
Content management system
0

10K+

ovenmedialabs/ovenmediaengine repository overview

⁠OvenMediaEngine

⁠What is OvenMediaEngine?

OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server that can stream large-scale and high-definition live streams over WebRTC, Low-Latency HLS (LL-HLS), and SRT to hundreds of thousands of viewers. OME can ingest live streams over WebRTC, WHIP, SRT, RTMP, E-RTMP, RTSP (Pull), and MPEG2-TS protocols, encode them to ABR with the embedded live transcoder, and stream them to viewers over WebRTC, LL-HLS, and HLS.

With OvenMediaEngine, you can build your powerful and sub-second latency media service very easily.

⁠Demo

OvenSpace is a Sub-Second Latency Live Streaming Demo Service using OvenMediaEngine (Streaming Server)⁠, OvenPlayer (Player)⁠, and OvenLiveKit (Live Encoder)⁠. You can experience OvenMediaEngine in the OvenSpace Demo⁠ and see examples of applying in OvenSpace Repository⁠.

⁠Features

  • Ingest
    • Push: WebRTC, WHIP (Simulcast), SRT, RTMP, E-RTMP, MPEG-2 TS/UDP
    • Pull: RTSP, OVT
    • Scheduled Channel (Pre-recorded Live)
    • Multiplex Channel (Duplicate stream / Mux tracks)
  • Adaptive Bitrate Streaming (ABR) for LLHLS and WebRTC
  • Low Latency Streaming using LLHLS
    • DVR (Live Rewind)
    • Dump for VoD
    • ID3v2 timed metadata
    • DRM (Widevine, Fairplay)
    • Subtitle (WebVTT)
  • 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, H.265
    • In-band FEC (Forward Error Correction)
      • Opus
  • Legacy HLS (HLS version 3)
    • Dump for VoD
    • MPEG-2 TS Container
    • Audio/Video Muxed
    • DVR
  • Sub-Second Latency Streaming using SRT
    • Secure Reliable Transport
    • MPEG-2 TS Container
    • Audio/Video Muxed
  • Embedded Live Transcoder
    • Video: VP8, H.264, H.265(Hardware only), Pass-through
    • Audio: Opus, AAC, Pass-through
  • Clustering (Origin-Edge Structure)
  • Monitoring
  • Access Control
    • Admission Webhooks
    • Signed Policy
  • File Recording
  • Push Publishing using SRT, RTMP, and MPEG2-TS (Re-streaming)
  • Thumbnail
  • REST API

⁠Supported Platforms

We have tested OvenMediaEngine on the platforms listed below. Although we have tested OvenMediaEngine on the platforms listed below, it may work with other Linux packages as well:

  • Docker⁠
  • Ubuntu 18+
  • Rocky Linux 8+
  • AlmaLinux 8+
  • Fedora 28+

⁠Quick Start

⁠Docker
docker run --name ome -d -e OME_HOST_IP=Your.HOST.IP.Address \
-p 1935:1935 -p 9999:9999/udp -p 9000:9000 -p 3333:3333 -p 3478:3478 -p 10000-10009:10000-10009/udp \
ovenmedialabs/ovenmediaengine:latest

You can also store the configuration files on your host:

docker run --name ome -d -e OME_HOST_IP=Your.HOST.IP.Address \
-p 1935:1935 -p 9999:9999/udp -p 9000:9000 -p 3333:3333 -p 3478:3478 -p 10000-10009:10000-10009/udp \
-v ome-origin-conf:/opt/ovenmediaengine/bin/origin_conf \
-v ome-edge-conf:/opt/ovenmediaengine/bin/edge_conf \
ovenmedialabs/ovenmediaengine:latest

The configuration files are now accessible under /var/lib/docker/volumes/<volume_name>/_data.

Following the above example, you will find them under /var/lib/docker/volumes/ome-origin-conf/_data and /var/lib/docker/volumes/ome-edge-conf/_data.

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⁠ for more information.

⁠WebRTC Live Encoder for Testing
⁠Player for Testing

⁠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. For more information on how to contribute, 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 [email protected]⁠.

⁠About OvenMedia Labs (former AirenSoft)

OvenMedia Labs 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:

Tag summary

Content type

Image

Digest

sha256:172da9129…

Size

138.1 MB

Last updated

about 2 months ago

docker pull ovenmedialabs/ovenmediaengine