A simple streamer dock for OBS like streaming clients to interact with and display basic info about owncast streams.
Find a file
2022-08-05 13:46:25 -06:00
resources Cleans up the visual design of the web-page. 2022-07-19 14:56:41 -06:00
static Implements function to pass tags updates to python 2022-08-04 17:40:31 -06:00
.gitignore Adds .undodir to gitignore 2022-07-24 14:14:43 -06:00
app.py Updates python to update tags on owncast server 2022-08-04 17:41:40 -06:00
index.mustache Adds a vim modeline update to index.mustache 2022-08-04 17:31:38 -06:00
LICENSE Added MIT license doc 2022-08-05 13:46:11 -06:00
Readme.md Added basic Readme.md 2022-08-05 13:46:25 -06:00
requirements.txt Adds a requirements.txt file for pip 2022-07-24 17:03:23 -06:00

Instilation

First, clone the repository:

git clone *insert url* && cd *insert name of project*

Create a python virtual environment, and use pip to install the project dependencies:

python -m venv venv && source venv/bin/activate && pip install -r requirements.txt

You will need to create a file at resources/data.json with the following structure:

{
	"stream_url":"https://your.url.here",
	"user_name":"admin",
	"stream_key":"your_stream_key_here"
}

Please note, the credentials use for the app are due to change to a utilization of your server's API access token functionality.

Using the plugin

First, source the virtual environment:

source venv/bin/activate

Next, run the flask app:

flask run

This will start a webserver which can be accessed, by default, at http://127.0.0.1:5000/. This webapp is what you should point an OBS custom browser dock too. Note, check the flask documentation for more on how to set specific ports for the webapp.

Next, using OBS, select Docks from the top bar, and find the Custom Browser Docks option. In the subsequent dialog, point a line item at the aforementioned address and port combination (http://127.0.0.1:5000/). This should embed the webapp within OBS.

Final Considerations

Please note that as of 08-05-2022, this project is a simple proof of concept and has limited functionality. It should provide just enough to provide the base functionality that a streamer dock requires - displaying the current viewers and stream details, and enabling the streamer to update the stream title and tags from the streaming platform (i.e, OBS).