Browser source widgets for streaming
Find a file
2026-01-07 14:02:10 -07:00
.vscode Initial commit with the now playing 2026-01-07 10:28:32 -07:00
app Add viewer count 2026-01-07 14:02:10 -07:00
.gitignore Initial commit with the now playing 2026-01-07 10:28:32 -07:00
app_icon.ico Initial commit with the now playing 2026-01-07 10:28:32 -07:00
build_exe.bat Initial commit with the now playing 2026-01-07 10:28:32 -07:00
build_exe.ps1 Make twitch/youtube chat widget 2026-01-07 12:47:09 -07:00
CHAT_SETUP.md Make twitch/youtube chat widget 2026-01-07 12:47:09 -07:00
config.example.json Make twitch/youtube chat widget 2026-01-07 12:47:09 -07:00
CONFIG_README.md Make twitch/youtube chat widget 2026-01-07 12:47:09 -07:00
DISTRIBUTION.md Make twitch/youtube chat widget 2026-01-07 12:47:09 -07:00
IMPLEMENTATION_SUMMARY.md Make twitch/youtube chat widget 2026-01-07 12:47:09 -07:00
MANIFEST.in Initial commit with the now playing 2026-01-07 10:28:32 -07:00
pyproject.toml Initial commit with the now playing 2026-01-07 10:28:32 -07:00
README.md Make twitch/youtube chat widget 2026-01-07 12:47:09 -07:00
run_tray.py Initial commit with the now playing 2026-01-07 10:28:32 -07:00
streamer-widgets.spec Make twitch/youtube chat widget 2026-01-07 12:47:09 -07:00
uv.lock Initial commit with the now playing 2026-01-07 10:28:32 -07:00

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)

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 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)

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.