Update README with latest features: listener spectrum, Cloudflare compatibility, and deployment notes

This commit is contained in:
3nd3r
2026-01-03 10:16:53 -06:00
parent 7087d553b0
commit 5e06254e1a

View File

@@ -10,6 +10,9 @@ It supports:
- Downloading audio from URLs (via `yt-dlp` when available, with fallback) - Downloading audio from URLs (via `yt-dlp` when available, with fallback)
- Live streaming from the DJ browser to listeners using Socket.IO - Live streaming from the DJ browser to listeners using Socket.IO
- Live listening via an **MP3 stream** (`/stream.mp3`) generated server-side with **ffmpeg**. - 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://<DJ_MACHINE_IP>:5001` `http://<DJ_MACHINE_IP>:5001`
2. Click **ENABLE AUDIO** if prompted 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 ## 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 ## Troubleshooting
### Listener says “Browser blocked audio” ### Listener says “Browser blocked audio”
@@ -219,7 +237,10 @@ This shows whether ffmpeg is running and whether MP3 bytes are being produced.
- Crossfader isnt fully on the silent side - Crossfader isnt fully on the silent side
- Volumes arent at 0 - Volumes arent at 0
- Check `http://<DJ_MACHINE_IP>:5001/stream_debug` and see if `transcoder_bytes_out` increases - Check `http://<DJ_MACHINE_IP>: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 ### `pip` missing inside venv
Some Python installs create venvs without pip. Fix: Some Python installs create venvs without pip. Fix: