44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
## Streamer Widgets (OBS Browser Sources)
|
|
|
|
This app runs a **single local web server** that hosts multiple streamer widgets on **one port**, and pushes updates via **WebSockets**.
|
|
|
|
### Available Widgets
|
|
|
|
- **Now Playing**: Display currently playing music from Windows Media
|
|
- **Live Chat**: Display Twitch and YouTube live chat with emote support (FFZ, BTTV, 7TV)
|
|
|
|
### Run (dev)
|
|
|
|
```bash
|
|
uv sync
|
|
uv run streamer-widgets --tray
|
|
```
|
|
|
|
Then add as OBS Browser Sources:
|
|
|
|
- **Now Playing**: `http://127.0.0.1:8765/widgets/nowplaying/`
|
|
- **Live Chat**: `http://127.0.0.1:8765/widgets/livechat/`
|
|
- **Configuration**: `http://127.0.0.1:8765/config`
|
|
|
|
### Live Chat Setup
|
|
|
|
See [CHAT_SETUP.md](CHAT_SETUP.md) for detailed instructions on:
|
|
- Connecting to Twitch and YouTube
|
|
- Setting up OAuth authentication
|
|
- Configuring emote providers (FFZ, BTTV, 7TV)
|
|
- Customizing the chat widget
|
|
|
|
### Build a standalone `.exe` (PyInstaller)
|
|
|
|
```bash
|
|
uv sync --group build
|
|
pyinstaller --noconsole --onefile --name streamer-widgets ^
|
|
--add-data "app/assets/web;app/assets/web" ^
|
|
run_tray.py
|
|
```
|
|
|
|
The executable will be in `dist/streamer-widgets.exe`.
|
|
|
|
**For end users:** Configuration files are stored in `%LOCALAPPDATA%\StreamerWidgets\`. The app auto-creates a config template on first run. Use the config UI at http://127.0.0.1:8765/config to open the config directory and set up OAuth credentials.
|
|
|
|
|