cli-anything-obs_studio
Une interface en ligne de commande avec état pour l'édition de collections de scènes OBS Studio, suivant les mêmes schémas que le CLI Blender. Utilise un format JSON de collection de scènes. Aucune installation d'OBS requise pour l'édition.
Installation
Ce CLI est installé dans le cadre du paquet cli-anything-obs_studio :
pip install cli-anything-obs_studio
Prérequis :
- Python 3.10+
- obs_studio doit être installé sur votre système
Utilisation
Commandes de base
# Afficher l'aide
cli-anything-obs_studio --help
# Démarrer le mode REPL interactif
cli-anything-obs_studio
# Créer un nouveau projet
cli-anything-obs_studio project new -o project.json
# Exécuter avec sortie JSON (pour consommation par un agent)
cli-anything-obs_studio --json project info -p project.json
Mode REPL
Lorsqu'il est invoqué sans sous-commande, le CLI entre dans une session REPL interactive :
cli-anything-obs_studio
# Saisir les commandes de manière interactive avec complétion par tabulation et historique
Groupes de commandes
Projet
Commandes de gestion de projet.
| Commande | Description |
|---|---|
new | Créer une nouvelle collection de scènes OBS |
open | Ouvrir un projet existant |
save | Sauvegarder le projet en cours |
info | Afficher les informations du projet |
json | Afficher le JSON brut du projet |
Groupe Scène
Commandes de gestion des scènes.
| Commande | Description |
|---|---|
add | Ajouter une nouvelle scène |
remove | Supprimer une scène par index |
duplicate | Dupliquer une scène |
set-active | Définir la scène active |
list | Lister toutes les scènes |
Groupe Source
Commandes de gestion des sources.
| Commande | Description |
|---|---|
add | Ajouter une source à une scène |
remove | Supprimer une source par index |
duplicate | Dupliquer une source |
set | Définir une propriété de source (name, visible, locked, opacity, rotation) |
transform | Transformer une source (position, size, crop, rotation) |
list | Lister toutes les sources d'une scène |
Groupe Filtre
Commandes de gestion des filtres.
| Commande | Description |
|---|---|
add | Ajouter un filtre à une source |
remove | Supprimer un filtre d'une source |
set | Définir un paramètre de filtre |
list | Lister tous les filtres sur une source |
list-available | Lister tous les types de filtres disponibles |
Groupe Audio
Commandes de gestion audio.
| Commande | Description |
|---|---|
add | Ajouter une source audio globale |
remove | Supprimer une source audio globale |
volume | Définir le volume d'une source audio (0.0-3.0) |
mute | Mettre en sourdine une source audio |
unmute | Réactiver le son d'une source audio |
monitor | Définir le type de monitoring audio |
list | Lister toutes les sources audio |
Groupe Transition
Commandes de gestion des transitions.
| Commande | Description |
|---|---|
add | Ajouter une transition |
remove | Supprimer une transition |
set-active | Définir la transition active |
duration | Définir la durée de transition en millisecondes |
list | Lister toutes les transitions |
Groupe Sortie
Configuration de la sortie/streaming/enregistrement.
| Commande | Description |
|---|---|
streaming | Configurer les paramètres de streaming |
recording | Configurer les paramètres d'enregistrement |
settings | Configurer les paramètres de sortie |
info | Afficher la configuration de sortie actuelle |
presets | Lister les préréglages d'encodage disponibles |
Session
Commandes de gestion de session.
| Commande | Description |
|---|---|
status | Afficher le statut de la session |
undo | Annuler la dernière opération |
redo | Refaire la dernière opération annulée |
history | Afficher l'historique d'annulation |
Exemples
Créer un nouveau projet
Créer un fichier de projet obs_studio.
cli-anything-obs_studio project new -o myproject.json
# Ou avec sortie JSON pour une utilisation programmatique
cli-anything-obs_studio --json project new -o myproject.json
Session REPL interactive
Démarrer une session interactive avec support annuler/rétablir.
cli-anything-obs_studio
# Saisir les commandes de manière interactive
# Utiliser 'help' pour voir les commandes disponibles
# Utiliser 'undo' et 'redo' pour la navigation dans l'historique
Gestion de l'état
Le CLI maintient l'état de la session avec :
- Annuler/Rétablir : Jusqu'à 50 niveaux d'historique
- Persistance du projet : Sauvegarde/chargement de l'état du projet en JSON
- Suivi de session : Suivi des modifications et changements
Formats de sortie
Toutes les commandes prennent en charge deux modes de sortie :
- Lisible par l'humain (par défaut) : Tableaux, couleurs, texte formaté
- Lisible par machine (flag
--json) : JSON structuré pour consommation par un agent
# Sortie humaine
cli-anything-obs_studio project info -p project.json
# Sortie JSON pour les agents
cli-anything-obs_studio --json project info -p project.json
Pour les agents IA
Lors de l'utilisation programmatique de ce CLI :
- Toujours utiliser le flag
--jsonpour une sortie analysable - Vérifier les codes de retour - 0 pour succès, non-zéro pour erreurs
- Analyser stderr pour les messages d'erreur en cas d'échec
- Utiliser des chemins absolus pour toutes les opérations sur fichiers
- Vérifier que les sorties existent après les opérations d'export
Plus d'informations
- Documentation complète : Voir README.md dans le paquet
- Couverture des tests : Voir TEST.md dans le paquet
- Méthodologie : Voir HARNESS.md dans cli-anything-plugin
Version
1.0.0