Bonjour j’ai utilisé chatgpt car je suis un profane en JS, je souhaite qu’une commande désactive ou active une source d’une scène pendant 5-10 seconde et la désactive ou la réactive derrière. Il faut pour cela utiliser les webscoket de OBS mais j’y comprends rien est ce que quelqu’un peut me renseigner pourquoi j’ai le message d’erreur ? J’ai remplacé localhost par l’adresse que me donner OBS et j’ai rajouté le code aussi donné par obs
Voici le code
// Nom de la source et de la scène
let sceneName = “NomDeVotreScene”; // Remplacez par le nom de votre scène
let sourceName = “NomDeVotreSource”; // Remplacez par le nom de votre source
// URL de WebSocket d’OBS (remplacez le mot de passe si nécessaire)
let obsURL = “ws://localhost:4444”; // Assurez-vous que cette URL est correcte
// Requête JSON pour activer une source
let activateSourceRequest = JSON.stringify({
“request-type”: “SetSourceRender”,
“source”: sourceName,
“render”: true,
“scene-name”: sceneName
});
// Appel de l’URL
let result = JS.wizebot.call_tag(“urlcall”, [obsURL, activateSourceRequest]);
// Vérification et message de confirmation
if (result) {
JS.wizebot.send_chat_message(La source ${sourceName} est maintenant activée dans la scène ${sceneName}.);
} else {
JS.wizebot.send_chat_message(“Erreur : impossible d’activer la source. Veuillez vérifier la connexion OBS.”);
}
En gros, le plugin de la source navigateur permet d’exécuter des actions sur OBS si la bonne permission est définie sur cette même source.
Dans l’exemple :
window.obsstudio.setCurrentScene('Nom de la scène');
Donc dans la logique, via le type de commande “Exécuter un script sur l’Overlay SCREEN” (avec l’overlay SCREEN d’installé (Login - Wize.Bot)), il est possible de changer de scène avec ce type de script :
var scene_name = 'Nom de la scène';
window.obsstudio.setCurrentScene(scene_name);
setTimeout(function() { setRefresh(); }, 1500); // Nécessaire pour terminer le script.
Malheureusement, pour les sources… Il n’y a rien pour le moment sur le plugin browser.
Même un appel WebSocket via l’overlay SCREEN ne fonctionne pas, car OBS ne supporte pas WSS (WebSocket Secure), ce qui bloque l’exécution étant donné que l’overlay SCREEN est en HTTPS.
Nous allons ajouter à notre roadmap la possibilité d’intégrer le WebSocket d’OBS, afin de pouvoir appeler le websocket d’OBS depuis WizeBot (avec la nécessité d’ouvrir le port sur la box Internet).
Pas de date pour le coup, mais c’est en réflexion !