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

https://github.com/vondas-network/drop-zone-ops

An automation project focused on streamlining the m3u creation process with the Open Broadcast Software API & WebSockets
https://github.com/vondas-network/drop-zone-ops

automation m3u obs open-broadcaster-software python scheduling server streaming webapp websockets

Last synced: 2 months ago
JSON representation

An automation project focused on streamlining the m3u creation process with the Open Broadcast Software API & WebSockets

Awesome Lists containing this project

README

        



Taking automation to new heights!

## What is this?



An automation project focused on streamlining the m3u creation process and stream scheduling using the Open Broadcaster Software API & WebSockets. This project was put together to explore diy automated broadcasting for [schwwaaa](https://schwwaaa.net/) & [subcarrier.tv](https://subcarrier.tv/). Influenced by [obs-scheduler by cyberboy666](https://github.com/cyberboy666/obs_scheduler?tab=readme-ov-file).

## How does it work?

Once the server is running, go to _http://localhost:9999_



Place files in the drop zone or click "Upload Folder" to upload content manually



Export m3U file to the root directory, example below

``` bash
#EXTM3U
#EXTINF:0,highlight_video.mp4
highlight_video.mp4
#EXTINF:0,replay_video.mp4
replay_video.mp4
```

Schedule your stream



Once the stream is scheduled it will refresh the page and appear below



A new OBS _scene_ is created with _VLC_ as a source when the scheduled time happens



## Project setup

### Linux & MacOS

#### Install VLC
Download VLC [here](https://www.videolan.org/)

#### Install the project requirements
``` bash
pip install -r requirements.txt
```

#### Create Python virtual environment
In a nutshell, Python virtual environments help decouple and isolate Python installs and associated pip packages. This allows end-users to install and manage their own set of packages that are independent of those provided by the system or used by other projects.
```bash
cd drop-zone-ops
python -m venv env
```

### Activate Python virtual environment
This will activate your virtual environment. Immediately, you will notice that your terminal path includes env, signifying an activated virtual environment.

``` bash
source env/bin/activate
```

### Windows 11/10

#### Install VLC
Download VLC [here](https://www.videolan.org/) (* 64-bit only)

#### Install the project requirements
``` bash
pip install -r requirements.txt
```

## Video Demo
https://github.com/user-attachments/assets/0ff4bf5c-e9e2-4d63-a5da-1fbda08663aa

## Current Bugs
- Video files _need_ to be in the root directory to properly encode as m3u8 playlist
- Remove older streams from the schedule

## Testing
- Windows: 11 & 10 (64-bit only)
- Linux: Ubuntu 24.04
- MacOS: M1 Apple Silicon

## Attributions
- [obs_scheduler by cyberboy666](https://github.com/cyberboy666/obs_scheduler?tab=readme-ov-file)