Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/traxys/ovenctrl
A simple controller over OvenMediaEngine
https://github.com/traxys/ovenctrl
Last synced: 9 days ago
JSON representation
A simple controller over OvenMediaEngine
- Host: GitHub
- URL: https://github.com/traxys/ovenctrl
- Owner: traxys
- Created: 2024-03-29T19:32:24.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-03-29T22:24:55.000Z (9 months ago)
- Last Synced: 2024-12-21T02:07:49.418Z (15 days ago)
- Language: Rust
- Size: 601 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Oven Controller (for WebRTC)
This server can be used as a controller for [OvenMediaEngine](https://github.com/AirenSoft/OvenMediaEngine) in order to implement the following features:
- Streamer authentication: Allow only certain people to stream to the OVE server
- Room management: List all available "rooms" (or distinct streams) and allow only certain streamers to access them
- Room authentication: Add a password on roomsIn order to configure the server the following block needs to be added to the OVE `Server.xml` config:
```xml
http:///oven/admission
3000
webrtc
webrtc
```
OBS needs to be configured to output to WHIP using the following url: `http:///app/?direction=whip&key=&name=`.
Note that the server _should_ be deployed using HTTPS as query parameters contain the passwords!
The controller must be passed a configuration file as a first parameter.
Here is an example configuration file:
```toml
# Each value can be passed through environment variables# Address of the OVE server
external_host = "localhost:3333"
# Should we access the OVE server with TLS?
external_tls = false# List of streamer names ( = )
[streamers]
traxys = "1234" # Can be supplied with OVEN_CTRL_STREAMERS_traxys=1234# Allowed rooms for each streamer ( = [])
[allowed_streams]
traxys = ["foo", "stream"]# Passwords for each room ( = )
[rooms]
stream = "password" # Can be supplied with OVEN_CTRL_ROOMS_stream=password
```