A simple streamer dock for OBS like streaming clients to interact with and display basic info about owncast streams.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Ariana Giroux 8760b83b50 Added a simple project description to Readme.md 5 days ago
resources Cleans up the visual design of the web-page. 3 weeks ago
static Implements function to pass tags updates to python 6 days ago
.gitignore Adds .undodir to gitignore 2 weeks ago
LICENSE Added MIT license doc 5 days ago
Readme.md Added a simple project description to Readme.md 5 days ago
app.py Updates python to update tags on owncast server 6 days ago
index.mustache Adds a vim modeline update to index.mustache 6 days ago
requirements.txt Adds a requirements.txt file for pip 2 weeks ago

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.