GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - OvenMediaLabs/OvenMediaEngine: OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. #WebRTC #LLHLS

BranchesTags
Open more actions menu

Latest commit

 

History

5,079 Commits
5,079 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
api
api
 
 
cmake
cmake
 
 
dist
dist
 
 
docs
docs
 
 
misc
misc
 
 
src
src
 
 
.dockerignore
.dockerignore
 
 
.gitbook.yaml
.gitbook.yaml
 
 
.gitignore
.gitignore
 
 
CLA.md
CLA.md
 
 
CMakeLists.txt
CMakeLists.txt
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
LICENSE-3RD-PARTY
LICENSE-3RD-PARTY
 
 
README.md
README.md
 
 
docker-compose.yml
docker-compose.yml
 
 
ome_favicon.svg
ome_favicon.svg
 
 

Repository files navigation

OvenMediaEngine

GitHub release License Docker Build Docs Build

Docker Pulls (current) Docker Pulls (legacy)

What is OvenMediaEngine?

OvenMediaEngine (OME) is a Sub-Second Latency Streaming Server that can stream Large-scale and High-definition live streams over Low Latency HLS (LLHLS) and WebRTC to hundreds of thousands of viewers.

OME can ingest live streams over WebRTC, SRT, RTMP, RTSP, and MPEG2-TS protocols, encode them to ABR with the embedded live transcoder, and stream them to viewers over LLHLS and WebRTC.

With OvenMediaEngine, you can easily build a powerful, sub-second latency media service.

Demo https://space.ovenplayer.com

OvenSpace is a sub-second latency streaming demo service using OvenMediaEngine, OvenPlayer and OvenLiveKit. You can experience OvenMediaEngine live at the OvenSpace Demo and browse implementation examples in the 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, PlayReady)
    • 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), AV1, 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

Building OvenMediaEngine requires libstdc++ 10 or newer. These are the platforms we test on; other Linux distributions with a comparable toolchain are likely to work as well:

  • Docker (the official image is built on Ubuntu 22.04)
  • Ubuntu 22.04 / 24.04 / 26.04
  • Rocky Linux 9 / AlmaLinux 9 / RHEL 9
  • Amazon Linux 2023
  • Fedora 34 - 43

Ubuntu 18.04 / 20.04, Rocky Linux / AlmaLinux / RHEL 8 and Amazon Linux 2 ship libstdc++ 9 or older, so the build stops with an explanation on those systems. Use the Docker image instead. Fedora 44 is not supported yet.

Quick Start

  • Quick Start Guide
  • Manual

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-10003:10000-10003/udp -p 10000:10000/tcp \
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-10003:10000-10003/udp -p 10000:10000/tcp \
-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

  • https://demo.ovenplayer.com/demo_input.html

Player for Testing

  • Without TLS: http://demo.ovenplayer.com
  • With TLS: https://demo.ovenplayer.com

How to Contribute

Thank you for your interest in contributing to OvenMediaEngine.

We need your help to keep this project growing. There are many ways to contribute. For more information on how to contribute, please see our Guidelines and Rules.

  • Finding Bugs
  • Reviewing Code
  • Writing Code: Thread Safety Analysis (TSA) Guide
  • Sharing Ideas
  • Testing
  • Improving Documentation
  • Spreading & Use Cases
  • Recurring Donations

We hope OvenMediaEngine inspires you to build something great.

About OvenMedia Labs and Projects

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.

  • Information
    • OvenMedia Labs Website: About OvenMediaEngine, Enterprise on Marketplace, and more
    • OvenMedia Labs' Blog: A blog researched and written directly by an OvenMediaEngine developer
  • Open-Source Repository
    • OvenMediaEngine GitHub: Sub-Second Latency Live Streaming Server
    • OvenMediaEngine Docker Hub: Docker image for quick deployment
    • OvenPlayer GitHub: JavaScript-based WebRTC and LLHLS Player for OvenMediaEngine
    • OvenLiveKit GitHub: JavaScript-based Live Streaming Encoder for OvenMediaEngine
  • Documentation
    • OvenMediaEngine Getting Started: Configuration, ABR, Clustering, and more
    • OvenPlayer Getting Started: UI Customization, API Reference, Examples, and more
  • Demo
    • OvenSpace Demo: Sub-Second Latency Streaming Demo Service
    • OvenPlayer Demo with TLS: For testing playback with HTTPS and WSS endpoints
    • OvenPlayer Demo without TLS: For testing playback with HTTP and WS endpoints

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

OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. #WebRTC #LLHLS

ovenmedia.com

Topics

broadcastingcmafhlslarge-scale-streaminglive-streaming-serverlldashllhlslow-latencylow-latency-dashlow-latency-hlslow-latency-httpomeovenmediaenginertmprtmp-to-webrtcstreamingstreaming-serversub-second-latencyultra-low-latencywebrtc

Resources

Readme
AGPL-3.0 license

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

3.3k stars

Watchers

142 watching

Forks

1.1k forks
Report repository

Releases

Sponsor this project

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.