Streaming Remote permet un contrôle à distance sécurisé d'OBS Studio ou XSplit via des sockets TCP ou WebSockets.
Un plugin StreamDeck et une interface utilisateur Web de base sont également fournis.
Téléchargez les fichiers de la dernière version ; la plupart des utilisateurs ne voudront pas les téléchargements « debug ».
Pour obtenir des instructions, voir INSTALL.md
L'interface utilisateur Web est testée sur Chrome et Safari ; on sait qu'il ne fonctionne pas sur Edge.
Si le stockage local est disponible, l'interface utilisateur Web enregistrera les paramètres de connexion ; Le stockage local n'est pas disponible lors de l'ouverture du fichier index.html directement dans Safari, mais il fonctionne dans Chrome.
récupérer une liste de sorties et d'états
démarrer une sortie (stream ou enregistrement)
arrêter une sortie
notifications push pour les changements d'état de sortie
indépendant du logiciel : il n'y a aucune différence de protocole ou de client lors de l'utilisation d'OBS et de XSplit
sécurité moderne (authentification et cryptage) via libsodium
Nous prévoyons d'étendre les capacités à l'avenir.
CMake
Qt5 l'interface web ou le plugin XSplit
OBS Studio - construit à partir des sources - si vous créez le plugin OBS
Visual Studio 2019 ou XCode récent
streaming-remote$ mkdir build streaming-remote$ cd build build$ cmake .. -DWITH_XSPLIT=ON -DWITH_OBS_ON -DOBS_SOURCE_DIR=/path/to/obs-studio -DOBS_BUILD_DIR=/path/to/obs-studio/build build$ cmake --build . --parallel
Le plugin XSplit peut être créé sur toutes les plateformes, même si XSplit lui-même n'est disponible que sous Windows. Ceci est utile lorsque vous travaillez sur des modifications affectant la classe StreamingSoftware
sur une machine non Windows.
manuscrit
fil (de préférence) ou npm
dans js-client-lib
, exécutez yarn install && tsc
dans xsplit-js-plugin
, streamdeck-plugin
et webui
, exécutez : yarn install && yarn run webpack --mode production
Il existe deux protocoles basés sur les messages :
un protocole de prise de contact binaire fournissant l'authentification et le cryptage d'initialisation
un protocole RPC crypté basé sur JSON-RPC
Pour les WebSockets, les fonctions de message binaire standard sont utilisées.
Pour les sockets TCP, les sockets Unix (MacOS, Linux) et les canaux nommés (Windows), un en-tête ASCII Content-Length:
est envoyé contenant le nombre d'octets, puis CRLF CRLF, puis le blob. Le prochain en-tête Content-Length suit immédiatement le blob.
"Content-Length: 7rn" "rn "hello, Content-Length: 6rn" "rn" "world."
Ce référentiel est principalement sous licence MIT, bien que certaines parties du plugin OBS soient sous licence GNU General Public License, version 2, tout comme les binaires du plugin OBS.
Consultez la [LICENSE] (fichier LICENSE) et les fichiers sources individuels pour plus de détails.