This project is not covered by Drupal’s security advisory policy.
Integration for the Open Source OvenMediaEngine (OME) Streaming Server.
OME is a modern full featured Streaming Server that includes
- Ingest of streams with RTMP, SRT, WebRTC
- Streams can be accessed with WebRTC and Low Latency HLS (LLHLS)
- Authorization via AdmissionWebhooks or Signed Policy
- ABR Transcoding
- API for Statistics, Recording, pushing streams to other services
- many more features
Features
This module implements a field that allows integration with OME. The field can be attached to any entity. Streaming App(s) can be configured for each field instance. Users can then add Stream(s) within the content entity.
Currently it uses Admission Webhooks for authorizing the incoming Stream. It makes use of a custom query parameter to authorize each stream and checks for x-ome-signature header if the request is valid.
There are Field Formatter for viewing the connection strings for live streaming and for OvenmediaPlayer.
Basic views integration for field values and settings.
An event is fired when an incoming Stream is opening or closing or when a User is starting or stopping to watch the Stream.
Post-Installation
go to /admin/config/media/ome-vhost and add at least one OME Vhost config.
Add a field to the desired entity and configure the streaming app according to your OME Setup.
Take a look at the Manage Form Display and Manage Display Section of the Entity and adjust to your requirements.
Note: If you want to use x-ome-header to validate the Admission Webhook request you need to set $settings['ovenmedia']['x_ome_header_secret'] in settings.php.
Additional Requirements
You need to setup OME and configure at least one app that matches the field config.
Roadmap and Ideas
This is an incomplete list of features and ideas in random order i'd like to implement in the future.
- Add a custom streaming entity to store recordings and statistics.
- Use Signed Policy for authentication
- Add RtmpPush to restream to other Streaming Services
- Add recording for streams and import them to Drupal
- Add statistics for streams
- Add new Vhosts to OME via API
- Add new Apps to OME via API
- Add authorization for outgoing streams
- Add Tests
- Improve Usability
Supporting this Module
This Module is in it's early stage. Feature requests, Patches, PR or Ideas are welcome!
Community Documentation
Todo
Project information
- Project categories: Site structure, Media, Integrations
- Created by hatsch on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.