From 4311b4bc2cc5191039e5498a7a0df3aa103fa043 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Wed, 18 Feb 2026 13:05:08 -0800 Subject: subscriber synchronization via buffered queue --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 3470fa6..4ace374 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,13 @@ # yt-playlist-radio -Simple demo of YouTube playlist to m3u playlist, all in about 200 lines of Python. +Takes a YouTube playlist and converts it to an audio stream, similar to internet radio +- `/playlist.m3u` provides a playlist of songs to be played, supports track skipping, like a traditional playlist +- `/stream` provides a buffered audio stream ## How to run? First set the environment variables as per `.env.template`, then just run it with gunicorn or something else (gunicorn comes bundled as part of the deps here) ```bash uv sync -uv run gunicorn -w 4 -b 0.0.0.0:8000 yt_radio:app +uv run gunicorn yt_radio:app --bind 0.0.0.0:8000 --worker-class gevent --workers 2 --timeout 0 --keep-alive 5 ``` + +> Note that `--timeout 0` is a strict requirement if using `/stream` endpoint due to Gunicorn's default timeout policy -- cgit v1.2.3