{"id":15724214,"url":"https://github.com/airensoft/ovenmediaengine","last_synced_at":"2025-05-13T21:08:44.629Z","repository":{"id":37334596,"uuid":"139194755","full_name":"AirenSoft/OvenMediaEngine","owner":"AirenSoft","description":"OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. #WebRTC #LLHLS","archived":false,"fork":false,"pushed_at":"2025-05-13T15:09:03.000Z","size":33335,"stargazers_count":2742,"open_issues_count":17,"forks_count":1073,"subscribers_count":145,"default_branch":"master","last_synced_at":"2025-05-13T16:29:57.216Z","etag":null,"topics":["broadcasting","cmaf","hls","large-scale-streaming","live-streaming-server","lldash","llhls","low-latency","low-latency-dash","low-latency-hls","low-latency-http","ome","ovenmediaengine","rtmp","rtmp-to-webrtc","streaming","streaming-server","sub-second-latency","ultra-low-latency","webrtc"],"latest_commit_sha":null,"homepage":"https://airensoft.com/ome.html","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AirenSoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"airensoft","open_collective":"ovenmediaengine"}},"created_at":"2018-06-29T20:50:46.000Z","updated_at":"2025-05-13T15:09:07.000Z","dependencies_parsed_at":"2024-01-01T04:03:14.200Z","dependency_job_id":"45ff4eb2-a259-4e8e-9382-59c35eb2fd34","html_url":"https://github.com/AirenSoft/OvenMediaEngine","commit_stats":{"total_commits":3238,"total_committers":59,"mean_commits":54.88135593220339,"dds":0.6179740580605312,"last_synced_commit":"fef961f46ad63b9a25845e5d4e528bbe9767676f"},"previous_names":[],"tags_count":83,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AirenSoft%2FOvenMediaEngine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AirenSoft%2FOvenMediaEngine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AirenSoft%2FOvenMediaEngine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AirenSoft%2FOvenMediaEngine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AirenSoft","download_url":"https://codeload.github.com/AirenSoft/OvenMediaEngine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254028991,"owners_count":22002283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["broadcasting","cmaf","hls","large-scale-streaming","live-streaming-server","lldash","llhls","low-latency","low-latency-dash","low-latency-hls","low-latency-http","ome","ovenmediaengine","rtmp","rtmp-to-webrtc","streaming","streaming-server","sub-second-latency","ultra-low-latency","webrtc"],"created_at":"2024-10-03T22:15:35.842Z","updated_at":"2025-05-13T21:08:44.580Z","avatar_url":"https://github.com/AirenSoft.png","language":"C++","funding_links":["https://github.com/sponsors/airensoft","https://opencollective.com/ovenmediaengine"],"categories":[],"sub_categories":[],"readme":"# OvenMediaEngine\n\n## What is OvenMediaEngine?\n\u003cimg src=\"dist/OME_LLHLS_220610.svg\" style=\"max-width: 100%; height: auto;\"\u003e\n\nOvenMediaEngine (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.\n\nOME 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.\n\nWith OvenMediaEngine, you can build your powerful and sub-second latency media service very easily.\n\n## Demo https://space.ovenplayer.com/\n\u003cimg src=\"dist/05_OvenSpace_230214.png\" style=\"max-width: 100%; height: auto;\"\u003e\n\nOvenSpace is a sub-second latency streaming demo service using [OvenMediaEngine](https://github.com/AirenSoft/OvenMediaEngine), [OvenPlayer](https://github.com/AirenSoft/OvenPlayer) and [OvenLiveKit](https://github.com/AirenSoft/OvenLiveKit-Web). You can experience OvenMediaEngine in the **[OvenSpace Demo](https://space.ovenplayer.com/)** and see examples of applying in [OvenSpace Repository](https://github.com/AirenSoft/OvenSpace).\n\n## Features\n* Ingest\n  * Push: WebRTC, WHIP(Simulcast), SRT, RTMP, MPEG-2 TS\n  * Pull: RTSP\n  * Scheduled Channel (Pre-recorded Live)\n  * Multiplex Channel (Duplicate stream / Mux tracks)\n* Adaptive Bitrate Streaming (ABR) for LLHLS and WebRTC\n* Low Latency Streaming using LLHLS\n  * DVR (Live Rewind)\n  * Dump for VoD\n  * ID3v2 timed metadata\n  * DRM (Widevine, Fairplay)\n* Sub-Second Latency Streaming using WebRTC\n  * WebRTC over TCP (With Embedded TURN Server)\n  * Embedded WebRTC Signalling Server (WebSocket based)\n  * Retransmission with NACK\n  * ULPFEC (Uneven Level Protection Forward Error Correction)\n    * \u003ci\u003eVP8, H.264, H.265\u003c/i\u003e\n  * In-band FEC (Forward Error Correction)\n    * \u003ci\u003eOpus\u003c/i\u003e\n* Legacy HLS (HLS version 3)\n  * MPEG-2 TS Container\n  * Audio/Video Muxed\n  * DVR\n* Sub-Second Latency Streaming using SRT\n  * Secure Reliable Transport\n  * MPEG-2 TS Container\n  * Audio/Video Muxed\n* Embedded Live Transcoder\n  * Video: VP8, H.264, H.265(Hardware only), Pass-through\n  * Audio: Opus, AAC, Pass-through\n* Clustering (Origin-Edge Structure)\n* Monitoring\n* Access Control\n  * Admission Webhooks\n  * Signed Policy\n* File Recording\n* Push Publishing using SRT, RTMP and MPEG2-TS (Re-streaming)\n* Thumbnail\n* REST API\n\n## Supported Platforms\nWe have tested OvenMediaEngine on the platforms listed below.\nAlthough we have tested OvenMediaEngine on the platforms listed below, it may work with other Linux packages as well:\n\n* [Docker](https://hub.docker.com/r/airensoft/ovenmediaengine)\n* Ubuntu 18+\n* Rocky Linux 9+\n* AlmaLinux 9+\n* Fedora 28+\n\n## Quick Start\n\n* [Quick Start Guide](https://airensoft.gitbook.io/ovenmediaengine/quick-start)\n* [Manual](https://airensoft.gitbook.io/ovenmediaengine/)\n\n### Docker\n```bash\ndocker run --name ome -d -e OME_HOST_IP=Your.HOST.IP.Address \\\n-p 1935:1935 -p 9999:9999/udp -p 9000:9000 -p 3333:3333 -p 3478:3478 -p 10000-10009:10000-10009/udp \\\nairensoft/ovenmediaengine:latest\n```\n\nYou can also store the configuration files on your host:\n\n```bash\ndocker run --name ome -d -e OME_HOST_IP=Your.HOST.IP.Address \\\n-p 1935:1935 -p 9999:9999/udp -p 9000:9000 -p 3333:3333 -p 3478:3478 -p 10000-10009:10000-10009/udp \\\n-v ome-origin-conf:/opt/ovenmediaengine/bin/origin_conf \\\n-v ome-edge-conf:/opt/ovenmediaengine/bin/edge_conf \\\nairensoft/ovenmediaengine:latest\n```\n\nThe configuration files are now accessible under `/var/lib/docker/volumes/\u003cvolume_name\u003e/_data`.\n\nFollowing 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`.\n\nIf you want to put them in a different location, the easiest way is to create a link:\n```bash\nln -s /var/lib/docker/volumes/ome-origin-conf/_data/ /my/new/path/to/ome-origin-conf \\\n\u0026\u0026 ln -s /var/lib/docker/volumes/ome-edge-conf/_data/ /my/new/path/to/ome-edge-conf\n```\n\nPlease read the [Getting Started](https://airensoft.gitbook.io/ovenmediaengine/getting-started) for more information.\n\n### WebRTC Live Encoder for Testing\n* https://demo.ovenplayer.com/demo_input.html\n\n### Player for Testing\n* Without TLS: http://demo.ovenplayer.com\n* With TLS: https://demo.ovenplayer.com\n\n## How to contribute\nThank you so much for being so interested in OvenMediaEngine.\n\nWe need your help to keep and develop our open-source project, and we want to tell you that you can contribute in many ways.\nFor more information on how to contribute, please see our [Guidelines](CONTRIBUTING.md), [Rules](CODE_OF_CONDUCT.md), and [Contribute](https://www.ovenmediaengine.com/contribute).\n\n- [Finding Bugs](https://github.com/AirenSoft/OvenMediaEngine/blob/master/CONTRIBUTING.md#finding-bugs)\n- [Reviewing Code](https://github.com/AirenSoft/OvenMediaEngine/blob/master/CONTRIBUTING.md#reviewing-code)\n- [Sharing Ideas](https://github.com/AirenSoft/OvenMediaEngine/blob/master/CONTRIBUTING.md#sharing-ideas)\n- [Testing](https://github.com/AirenSoft/OvenMediaEngine/blob/master/CONTRIBUTING.md#testing)\n- [Improving Documentation](https://github.com/AirenSoft/OvenMediaEngine/blob/master/CONTRIBUTING.md#improving-documentation)\n- [Spreading \u0026 Use Cases](https://github.com/AirenSoft/OvenMediaEngine/blob/master/CONTRIBUTING.md#spreading--use-cases)\n- [Recurring Donations](https://github.com/AirenSoft/OvenMediaEngine/blob/master/CONTRIBUTING.md#recurring-donations)\n\nWe always hope that OvenMediaEngine will give you good inspiration.\n\n## For more information\n* [AirenSoft Website](https://airensoft.com) \n  * About OvenMediaEngine, OvenMediaEngine Enterprise, OvenVideo, AirenBlog and more\n* [OvenMediaEngine Getting Started](https://airensoft.gitbook.io/ovenmediaengine/)\n  * User guide for OvenMediaEngine Configuration, ABR, Clustering, and more\n* [OvenMediaEngine Docker Hub](https://hub.docker.com/r/airensoft/ovenmediaengine)\n  * Install and use OvenMeidaEngine easily using Docker\n* [OvenPlayer GitHub](https://github.com/AirenSoft/OvenPlayer)\n  * JavaScript-based Player with LLHLS and WebRTC\n* [OvenPlayer Getting Started](https://airensoft.gitbook.io/ovenplayer)\n  * User guide for OvenPlayer UI Customize, API Reference, Examples, and more\n* [OvenLiveKit](https://github.com/AirenSoft/OvenLiveKit-Web)\n  * JavaScript-based Live Streaming Encoder for OvenMediaEngine\n* [OvenSpace Demo](https://space.ovenplayer.com/)\n  * Sub-Second Latency Streaming Demo Service\n\n## License\nOvenMediaEngine is licensed under the [AGPL-3.0-only](LICENSE).\nHowever, if you need another license, please feel free to email us at [contact@airensoft.com](mailto:contact@airensoft.com).\n\n## About AirenSoft\nAirenSoft aims to make it easier for you to build a stable broadcasting/streaming service with Sub-Second Latency.\nTherefore, we will continue developing and providing the most optimized tools for smooth Sub-Second Latency Streaming.\n\nWould you please click on each link below for details:\n* [\"JavaScript-based Live Streaming Encoder\" **OvenLiveKit**](https://github.com/AirenSoft/OvenLiveKit-Web)\n* [\"Sub-Second Latency Streaming Server with LLHLS and WebRTC\" **OvenMediaEngine**](https://github.com/AirenSoft/OvenMediaEngine)\n* [\"JavaScript-based Player with LLHLS and WebRTC\" **OvenPlayer**](https://github.com/AirenSoft/OvenPlayer)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairensoft%2Fovenmediaengine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fairensoft%2Fovenmediaengine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairensoft%2Fovenmediaengine/lists"}