resources | ||
static | ||
.gitignore | ||
app.py | ||
index.mustache | ||
LICENSE | ||
Readme.md | ||
requirements.txt |
DockOfOurOwn
Project Description
This project is a simple attempt at extending the functionality of the Owncast project to improve the streamer quality of life. While the Owncast project provides a fully functionally chat monitoring and moderating widget that can be used as a dock in streaming platforms like OBS (found here), there is (as of Owncast v0.0.12) no embeddable method of obtaining the viewer count, stream title, etc.
This repository provides a bare bones embeddable widget that can be used as a Dock that provides important details like viewer count and what the current stream tags are, and enables the streamer to update important stream details without needing a browser open.
This project should not be considered production ready.
Instillation
First, clone the repository:
git clone https://gitdab.com/arianagiroux/DockOfOurOwn.git && cd DockOfOurOwn
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 web server 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).
This project is still a pretty rough product, as these docs likely illustrate. Unfortunately, I have little time to dedicate to development time so I welcome any contributions, updates, forks, etc. This was simply a means to an end for me.