A simple streamer dock for OBS like streaming clients to interact with and display basic info about owncast streams.
Go to file
Ariana Giroux 8760b83b50 Added a simple project description to Readme.md 2022-08-05 14:52:11 -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
LICENSE Added MIT license doc 2022-08-05 13:46:11 -06:00
Readme.md Added a simple project description to Readme.md 2022-08-05 14:52:11 -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
requirements.txt Adds a requirements.txt file for pip 2022-07-24 17:03:23 -06:00

Readme.md

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.

Installation

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.