{"id":17520594,"url":"https://github.com/vondas-network/drop-zone-ops","last_synced_at":"2025-03-28T23:25:09.593Z","repository":{"id":258698566,"uuid":"874432435","full_name":"vondas-network/drop-zone-ops","owner":"vondas-network","description":"An automation project focused on streamlining the m3u creation process with the Open Broadcast Software API \u0026 WebSockets","archived":false,"fork":false,"pushed_at":"2024-10-19T07:20:20.000Z","size":37628,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-10-20T07:10:01.608Z","etag":null,"topics":["automation","m3u","obs","open-broadcaster-software","python","scheduling","server","streaming","webapp","websockets"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vondas-network.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-17T20:17:59.000Z","updated_at":"2024-10-19T07:20:24.000Z","dependencies_parsed_at":"2024-10-23T04:34:15.584Z","dependency_job_id":null,"html_url":"https://github.com/vondas-network/drop-zone-ops","commit_stats":null,"previous_names":["vondas-network/drop-zone-ops"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vondas-network%2Fdrop-zone-ops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vondas-network%2Fdrop-zone-ops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vondas-network%2Fdrop-zone-ops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vondas-network%2Fdrop-zone-ops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vondas-network","download_url":"https://codeload.github.com/vondas-network/drop-zone-ops/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246113895,"owners_count":20725540,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","m3u","obs","open-broadcaster-software","python","scheduling","server","streaming","webapp","websockets"],"created_at":"2024-10-20T11:24:00.618Z","updated_at":"2025-03-28T23:25:09.573Z","avatar_url":"https://github.com/vondas-network.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"35%\" height=\"35%\" src=\"https://github.com/user-attachments/assets/e3551d8c-dce3-4b38-be46-631013c78e06\"/\u003e  \n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cem\u003eTaking automation to new heights!\u003c/em\u003e\u003c/p\u003e \n\n## What is this?\n\u003cp align=\"left\"\u003e\n  \u003cimg width=\"55%\" height=\"55%\" src=\"https://github.com/user-attachments/assets/004a37a7-f267-46a4-9684-e0a27ac535cd\"/\u003e  \n\u003c/p\u003e\n\nAn automation project focused on streamlining the m3u creation process and stream scheduling using the Open Broadcaster Software API \u0026 WebSockets. This project was put together to explore diy automated broadcasting for [schwwaaa](https://schwwaaa.net/) \u0026 [subcarrier.tv](https://subcarrier.tv/). Influenced by [obs-scheduler by cyberboy666](https://github.com/cyberboy666/obs_scheduler?tab=readme-ov-file).\n\n## How does it work? \n\nOnce the server is running, go to _http://localhost:9999_\n\n\u003cp align=\"left\"\u003e\n  \u003cimg width=\"85%\" height=\"85%\" src=\"https://github.com/user-attachments/assets/8fc34706-f0a5-4173-8edd-3d831f032515\"/\u003e  \n\u003c/p\u003e\n\nPlace files in the drop zone or click \"Upload Folder\" to upload content manually\n\n\u003cp align=\"left\"\u003e\n  \u003cimg width=\"55%\" height=\"55%\" src=\"https://github.com/user-attachments/assets/5a8dedca-5102-4b9a-b7cb-42685286445f\"/\u003e  \n\u003c/p\u003e\n\nExport m3U file to the root directory, example below\n\n``` bash\n#EXTM3U\n#EXTINF:0,highlight_video.mp4\nhighlight_video.mp4\n#EXTINF:0,replay_video.mp4\nreplay_video.mp4\n```\n\nSchedule your stream\n\n\u003cp align=\"left\"\u003e\n  \u003cimg width=\"45%\" height=\"45%\" src=\"https://github.com/user-attachments/assets/4add66dd-4ce1-40cc-92eb-cea1b7e98b6b\"/\u003e  \n\u003c/p\u003e\n\nOnce the stream is scheduled it will refresh the page and appear below\n\u003cp align=\"left\"\u003e\n  \u003cimg width=\"85%\" height=\"85%\" src=\"https://github.com/user-attachments/assets/5298e22d-eb81-45ba-a1db-ef214a7f8e38\"/\u003e  \n\u003c/p\u003e\n\nA new OBS _scene_ is created with _VLC_ as a source when the scheduled time happens\n\n\u003cp align=\"left\"\u003e\n  \u003cimg width=\"85%\" height=\"85%\" src=\"https://github.com/user-attachments/assets/d454c646-9b22-4338-b380-40ecb9721c73\"/\u003e  \n\u003c/p\u003e\n\n## Project setup\n\n### Linux \u0026 MacOS \n\n#### Install VLC\nDownload VLC [here](https://www.videolan.org/)\n\n#### Install the project requirements\n``` bash\npip install -r requirements.txt\n```\n\n#### Create Python virtual environment\nIn 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.\n```bash\n cd drop-zone-ops\n python -m venv env\n```\n\n### Activate Python virtual environment\nThis will activate your virtual environment. Immediately, you will notice that your terminal path includes env, signifying an activated virtual environment.\n\n``` bash\nsource env/bin/activate\n```\n\n### Windows 11/10\n\n#### Install VLC\nDownload VLC [here](https://www.videolan.org/) (* 64-bit only)\n\n\n#### Install the project requirements\n``` bash\npip install -r requirements.txt\n```\n\n## Video Demo\nhttps://github.com/user-attachments/assets/0ff4bf5c-e9e2-4d63-a5da-1fbda08663aa\n\n## Current Bugs\n- Video files _need_ to be in the root directory to properly encode as m3u8 playlist\n- Remove older streams from the schedule\n\n## Testing\n- Windows: 11 \u0026 10 (64-bit only) \n- Linux: Ubuntu 24.04\n- MacOS: M1 Apple Silicon\n\n## Attributions\n- [obs_scheduler by cyberboy666](https://github.com/cyberboy666/obs_scheduler?tab=readme-ov-file)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvondas-network%2Fdrop-zone-ops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvondas-network%2Fdrop-zone-ops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvondas-network%2Fdrop-zone-ops/lists"}