Demarrage
Qu'est-ce que StreamooS ?
StreamooS est une application desktop compagnon de streaming, construite avec Electron. Elle fournit des overlays OBS (timer, lecteur musical, dock), des integrations audio (KHInsider, lecteur media systeme), Discord Rich Presence, la planification de streams Twitch, et une telecommande mobile -- le tout depuis un seul tableau de bord.
Prerequis
- Node.js 22+
- pnpm 10+ (ne jamais utiliser npm ou yarn)
- OBS Studio (pour les overlays)
- Discord desktop lance (si Discord RPC active)
- Windows 10+ ou Linux (macOS non supporte)
Installation
git clone https://github.com/{Anonyme}/StreamooS.git
cd StreamooS
pnpm installVariables d'environnement
Copie .env.example en .env.local et renseigne les valeurs requises :
# Requis
KHINSIDER_URL=https://downloads.khinsider.com/playlist/xxxxx
DISCORD_CLIENT_ID=xxxxxxxxxxxxxxxxxx
STREAMOOS_RENDERER_URL=http://127.0.0.1:5173Astuce : seuls
KHINSIDER_URL,DISCORD_CLIENT_IDetSTREAMOOS_RENDERER_URLsont necessaires pour demarrer. Le reste peut etre configure plus tard.
Lancement en developpement
pnpm devCela lance quatre processus en parallele :
| Processus | Description | URL |
|---|---|---|
| Renderer | Serveur de dev Vite (React UI) | http://127.0.0.1:5173 |
| Main | Processus principal Electron (TypeScript watch) | - |
| Preload | Script preload (TypeScript watch) | - |
| Electron | Application Electron | - |
Le serveur WebSocket embarque ecoute sur ws://127.0.0.1:8765. Le serveur Remote Control (si actif) ecoute sur https://0.0.0.0:8080.
Gates qualite (avant commit)
pnpm typecheck # verification TypeScript strict
pnpm lint # ESLint
pnpm build # build de production complet
pnpm test:ws-smoke # smoke test WebSocketOption KHInsider dans le smoke test :
STREAMOOS_SMOKE_INCLUDE_KHINSIDER=1 pnpm test:ws-smokeSuite de tests complete
pnpm test:unit # Tests unitaires Vitest
pnpm test:electron:node # Tests Node.js du main process
pnpm test:e2e # Tests end-to-end Playwright
pnpm test:ws-smoke # Smoke test des overlays WebSocketDistribution
pnpm dist:win # Windows - NSIS installer + ZIP portable
pnpm dist:linux # Linux - AppImage + DEBAjouter un overlay OBS
Dans OBS, ajouter une source Navigateur
Decocher "Fichier local" et entrer le chemin absolu :
file:///C:/Users/toi/StreamooS/app/overlays/timer/timer_overlay.htmlResolution recommandee : 1920x1080
Activer "Actualiser le navigateur quand la scene devient active"
L'overlay se connecte automatiquement a
ws://127.0.0.1:8765
Overlays disponibles : Timer, Radio (KHInsider / lecteur systeme), Dock (controle complet).
Voir la reference overlays OBS pour le detail complet.
Telecommande mobile
StreamooS inclut une telecommande integree accessible depuis n'importe quel appareil sur le meme reseau Wi-Fi :
- Ouvrir la section Telecommande dans les reglages StreamooS
- Noter l'URL affichee (ex :
https://192.168.1.x:8080) - Ouvrir cette URL sur le navigateur mobile et coupler avec le code PIN
Voir Configuration telecommande pour les instructions detaillees.
Depannage rapide
Discord n'affiche rien
- Verifier
DISCORD_CLIENT_IDdans.env.local - Verifier que Discord desktop est ouvert avant de lancer StreamooS
- Chercher
discord_rpc:connectdans les logs dashboard
Overlay non connecte
- Verifier que StreamooS tourne (port
8765ouvert) - Verifier les logs WS dans la console OBS (
source=overlay) - Verifier que OBS utilise l'URL
file://, pashttp://
KHInsider ne joue pas
- L'URL doit pointer vers une page d'album specifique, pas la page d'accueil
- Verifier les logs de la fenetre KHInsider cachee dans le dashboard
- Le watchdog retry automatiquement toutes les 5s
Aucun media systeme detecte
- Une piste doit etre en cours de lecture dans une application (Spotify, YouTube Music, VLC…)
- Sous Linux, le lecteur doit exposer MPRIS sur D-Bus
- Sous macOS, la source systeme n'est pas supportee (voir #314)
Telecommande inatteignable
- Les deux appareils doivent etre sur le meme reseau Wi-Fi / LAN
- Accepter l'avertissement de certificat auto-signe sur le navigateur mobile
- Essayer l'adresse IP directe si
streamoos.localne resout pas
