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
- Host: GitHub
- URL: https://github.com/vondas-network/drop-zone-ops
- Owner: vondas-network
- Created: 2024-10-17T20:17:59.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-10-19T07:20:20.000Z (8 months ago)
- Last Synced: 2024-10-20T07:10:01.608Z (8 months ago)
- Topics: automation, m3u, obs, open-broadcaster-software, python, scheduling, server, streaming, webapp, websockets
- Language: Python
- Homepage:
- Size: 35.9 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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)