From 5e06254e1ac211b0ea300a64878ba8d9af05cba9 Mon Sep 17 00:00:00 2001 From: 3nd3r Date: Sat, 3 Jan 2026 10:16:53 -0600 Subject: [PATCH] Update README with latest features: listener spectrum, Cloudflare compatibility, and deployment notes --- README.md | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 55dcb4b..badd932 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,9 @@ It supports: - Downloading audio from URLs (via `yt-dlp` when available, with fallback) - Live streaming from the DJ browser to listeners using Socket.IO - Live listening via an **MP3 stream** (`/stream.mp3`) generated server-side with **ffmpeg**. +- Real-time visual spectrum analyzer for listeners +- Optional password protection for the DJ panel +- Compatibility with reverse proxies like Cloudflare --- @@ -140,8 +143,7 @@ You should see output like: `http://:5001` 2. Click **ENABLE AUDIO** if prompted - - Browsers block autoplay by default; user interaction is required. - + - Browsers block autoplay by default; user interaction is required.3. Enjoy the live stream with real-time spectrum visualization --- ## Multi-device / LAN setup @@ -196,6 +198,22 @@ This shows whether ffmpeg is running and whether MP3 bytes are being produced. --- +## Deployment behind reverse proxies (e.g., Cloudflare) + +TechDJ is compatible with reverse proxies like Cloudflare. To ensure proper functionality: + +- Use same-origin URLs for streaming to avoid port restrictions. +- Configure your proxy to bypass caching for the `/stream.mp3` endpoint, as it's a live audio stream. +- Set cache control headers to `no-cache` for `/stream.mp3` to prevent buffering issues. +- Ensure WebSocket connections (used by Socket.IO) are allowed through the proxy. + +Example Cloudflare page rule: +- URL: `yourdomain.com/stream.mp3` +- Cache Level: Bypass +- Edge Cache TTL: 0 seconds + +--- + ## Troubleshooting ### Listener says “Browser blocked audio” @@ -219,7 +237,10 @@ This shows whether ffmpeg is running and whether MP3 bytes are being produced. - Crossfader isn’t fully on the silent side - Volumes aren’t at 0 - Check `http://:5001/stream_debug` and see if `transcoder_bytes_out` increases +### Spectrum visualizer not showing +- Ensure the listener page is loaded and audio is enabled. +- Check browser console for errors related to Web Audio API. ### `pip` missing inside venv Some Python installs create venvs without pip. Fix: