How vider7/streamerhub works
StreamerHub is a Windows desktop app that serves a local browser dashboard for combined Twitch/TikTok chat, live stats, and viewer-requested music. The main workflow is chat providers feeding the chat service, which exposes messages and stats to the dashboard; song requests are handled by the command engine and music engine, then played through mpv. The README also documents translation, themes/layout, the OBS queue overlay, and self-updates. Several links below rely on README descriptions or source-index references; unsampled handlers and browser wiring are not asserted in detail.
Main entry points: Program.cs HTTP server · MusicEngine.cs Music engine · App.tsx Dashboard UI · WebSocketHub.cs WebSocket hub
Components 26
Dashboard and overlay
- Dashboard UI
web/src/App.tsx - WebSocket client
web/src/hub.ts - Queue overlay
web/public/overlay.html
Chat and live stats
- Chat aggregation
StreamerHub/Chat/ChatHub.cs - Twitch chat
StreamerHub/Chat/TwitchChatService.cs - TikTok chat
StreamerHub/Chat/TikTokChatService.cs - Twitch stats
StreamerHub/Chat/TwitchStatsService.cs - Chat avatars
StreamerHub/Chat/ChatAvatars.cs - Request commands
StreamerHub/Chat/CommandEngine.cs - Translation
StreamerHub/Server/Translate.cs
Music playback
- Music engine
StreamerHub/Music/MusicEngine.cs - YouTube resolver
StreamerHub/Music/YoutubeResolver.cs - Audio cache
StreamerHub/Music/AudioCache.cs - Audio stream
StreamerHub/Music/AudioStream.cs - mpv player
StreamerHub/Music/MpvPlayer.cs
Local app services
- HTTP server
StreamerHub/Server/Program.cs - WebSocket hub
StreamerHub/Server/WebSocketHub.cs - Configuration
StreamerHub/Server/Config.cs - Updater
StreamerHub/Server/UpdateService.cs - Application log
StreamerHub/Server/Log.cs
Other components
- Streamer
- Viewers
- Twitch
- TikTok
- YouTube
- OBS
Connections 37
- Streamer → Dashboard UI: opens dashboard
README.md - Viewers → Twitch: send chat
README.md - Viewers → TikTok: send chat
README.md - Twitch → Twitch chat: provides chat
README.md - TikTok → TikTok chat: provides chat
README.md - Twitch chat → Chat aggregation: adds messages
StreamerHub/Chat/TwitchChatService.cs - TikTok chat → Chat aggregation: adds messages
StreamerHub/Chat/TikTokChatService.cs - Twitch stats → HTTP server: supplies stats
StreamerHub/Server/Program.cs - Chat aggregation → WebSocket hub: publishes activity
StreamerHub/Server/WebSocketHub.cs - WebSocket hub → WebSocket client: sends updates
README.md - WebSocket client → Dashboard UI: updates view
web/src/App.tsx - Twitch chat → Chat avatars: resolves avatars
StreamerHub/Chat/TwitchChatService.cs - TikTok chat → Chat avatars: resolves avatars
StreamerHub/Chat/TikTokChatService.cs - Dashboard UI → WebSocket hub: sends controls
README.md - Dashboard UI → Translation: requests translation
README.md - OBS → Queue overlay: loads overlay
README.md - Viewers → Request commands: request songs
README.md - Request commands → Music engine: queues requests
StreamerHub/Chat/CommandEngine.cs - Request commands → YouTube resolver: searches tracks
StreamerHub/Chat/CommandEngine.cs - WebSocket hub → Music engine: dispatches controls
StreamerHub/Server/WebSocketHub.cs - Music engine → YouTube resolver: resolves tracks
StreamerHub/Music/MusicEngine.cs - Music engine → Audio cache: prefetches audio
StreamerHub/Music/AudioCache.cs - HTTP server → Audio stream: serves audio
StreamerHub/Server/Program.cs - Audio stream → YouTube resolver: resolves stream URLs
StreamerHub/Music/AudioStream.cs - HTTP server → mpv player: controls playback
StreamerHub/Server/Program.cs - YouTube → YouTube resolver: supplies search and audio
README.md - HTTP server → WebSocket hub: hosts endpoint
StreamerHub/Server/Program.cs - HTTP server → Twitch chat: starts service
StreamerHub/Server/Program.cs - HTTP server → TikTok chat: starts service
StreamerHub/Server/Program.cs - HTTP server → Twitch stats: starts service
StreamerHub/Server/Program.cs - HTTP server → Request commands: starts engine
StreamerHub/Server/Program.cs - HTTP server → Music engine: starts engine
StreamerHub/Server/Program.cs - HTTP server → Updater: starts updater
StreamerHub/Server/Program.cs - Dashboard UI → Configuration: edits settings
- Updater → Configuration: reads settings
StreamerHub/Server/UpdateService.cs - Music engine → Application log: writes diagnostics
StreamerHub/Music/MusicEngine.cs - HTTP server → Application log: writes diagnostics
StreamerHub/Server/Program.cs