Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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 rooms

In 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
```