RawtohRawtoh/Docs
Documentation

Module OBS

Contrôle complet d’OBS Studio — scènes, sources, audio, diffusion, enregistrement et plus encore.

Le module OBS connecte OBS Studio à Rawtoh via le protocole OBS WebSocket. Il vous donne un contrôle complet sur vos scènes, vos sources, l’audio, la diffusion et l’enregistrement — le tout depuis vos automatisations.

Premiers pas

OBS tourne sur votre machine, hors de portée d’un service hébergé. Le module fonctionne donc en deux parties : un backend hébergé qui maintient la connexion à Rawtoh, et un onglet de navigateur sur le PC de streaming qui communique avec OBS sur localhost et relaie les appels et les événements. Gardez cet onglet ouvert pendant vos streams — tant qu’il est fermé, les appels échouent avec une erreur explicite.

  1. Dans OBS, activez le serveur WebSocket (Outils → Paramètres du serveur WebSocket) et notez le port et le mot de passe
  2. Ouvrez le site du module OBS, connectez-vous avec votre compte Rawtoh et choisissez votre organisation
  3. Ajoutez un compte OBS avec cet hôte, ce port et ce mot de passe — les identifiants restent sur le serveur, jamais dans le stockage du navigateur
  4. Cliquez sur Installer avec Rawtoh. Le module crée l’instance dans votre organisation, enrôle sa paire de clés et se connecte. Aucun jeton à copier ; vous devez avoir le rôle propriétaire
  5. Laissez l’onglet ouvert sur le PC de streaming. Un compte par installation d’OBS — ajoutez-en d’autres pour une deuxième machine

Événements

Le module OBS émet des événements pour tout ce qui se passe dans OBS Studio. Utilisez-les comme déclencheurs pour réagir automatiquement.

Scènes

ÉvénementDescription
scene.current_changedChangement de la scène active
scene.preview_changedChangement de la scène d’aperçu (mode studio)
scene.createdNouvelle scène créée
scene.removedScène supprimée
scene.name_changedScène renommée
scene.list_changedListe des scènes modifiée
studio_mode.state_changedMode studio activé / désactivé

Diffusion et enregistrement

ÉvénementDescription
stream.state_changedDiffusion démarrée / arrêtée
record.state_changedEnregistrement démarré / arrêté
replay_buffer.state_changedTampon de relecture démarré / arrêté
virtual_cam.state_changedCaméra virtuelle activée / désactivée
exit.startedOBS est en train de se fermer

Sources, entrées et transitions

ÉvénementDescription
input.mute_state_changedEntrée coupée / réactivée
input.volume_changedVolume d’une entrée modifié
input.created / input.removed / input.name_changedEntrée ajoutée, supprimée ou renommée
scene_item.enable_state_changedVisibilité d’une source modifiée
filter.enable_state_changedFiltre activé / désactivé
transition.started / transition.endedTransition de scène démarrée / terminée
transition.current_changedChangement de la transition active

Les payloads des événements sont transmis tels quels depuis obs-websocket : les noms de champs sont donc en camelCase — par exemple event.payload.sceneName.

Ce que vous pouvez faire

Appelez ces méthodes depuis vos actions pour contrôler OBS. Les paramètres reprennent les noms d’obs-websocket, en camelCase — par exemple module("obs").request("scene.set_current", { sceneName: "BRB" }) :

Scènes et mode studio

Sources et entrées

Diffusion et enregistrement

Filtres et transitions

Autres

Exemples d’automatisations