Skip to content

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 ​

bash
git clone https://github.com/{Anonyme}/StreamooS.git
cd StreamooS
pnpm install

Variables d'environnement ​

Copie .env.example en .env.local et renseigne les valeurs requises :

env
# Requis
KHINSIDER_URL=https://downloads.khinsider.com/playlist/xxxxx
DISCORD_CLIENT_ID=xxxxxxxxxxxxxxxxxx
STREAMOOS_RENDERER_URL=http://127.0.0.1:5173

Astuce : seuls KHINSIDER_URL, DISCORD_CLIENT_ID et STREAMOOS_RENDERER_URL sont necessaires pour demarrer. Le reste peut etre configure plus tard.

Lancement en developpement ​

bash
pnpm dev

Cela lance quatre processus en parallele :

ProcessusDescriptionURL
RendererServeur de dev Vite (React UI)http://127.0.0.1:5173
MainProcessus principal Electron (TypeScript watch)-
PreloadScript preload (TypeScript watch)-
ElectronApplication 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) ​

bash
pnpm typecheck      # verification TypeScript strict
pnpm lint           # ESLint
pnpm build          # build de production complet
pnpm test:ws-smoke  # smoke test WebSocket

Option KHInsider dans le smoke test :

bash
STREAMOOS_SMOKE_INCLUDE_KHINSIDER=1 pnpm test:ws-smoke

Suite de tests complete ​

bash
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 WebSocket

Distribution ​

bash
pnpm dist:win    # Windows - NSIS installer + ZIP portable
pnpm dist:linux  # Linux - AppImage + DEB

Ajouter un overlay OBS ​

  1. Dans OBS, ajouter une source Navigateur

  2. Decocher "Fichier local" et entrer le chemin absolu :

    file:///C:/Users/toi/StreamooS/app/overlays/timer/timer_overlay.html
  3. Resolution recommandee : 1920x1080

  4. Activer "Actualiser le navigateur quand la scene devient active"

  5. 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 :

  1. Ouvrir la section Telecommande dans les reglages StreamooS
  2. Noter l'URL affichee (ex : https://192.168.1.x:8080)
  3. 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_ID dans .env.local
  • Verifier que Discord desktop est ouvert avant de lancer StreamooS
  • Chercher discord_rpc:connect dans les logs dashboard

Overlay non connecte

  • Verifier que StreamooS tourne (port 8765 ouvert)
  • Verifier les logs WS dans la console OBS (source=overlay)
  • Verifier que OBS utilise l'URL file://, pas http://

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.local ne resout pas

Released under the MIT License.