cli-anything-obs_studio
Uma interface de linha de comando stateful para edição de coleções de cenas do OBS Studio, seguindo os mesmos padrões do harness CLI do Blender. Utiliza um formato de coleção de cenas em JSON. Não requer instalação do OBS para edição.
Instalação
Esta CLI é instalada como parte do pacote cli-anything-obs_studio:
pip install cli-anything-obs_studio
Pré-requisitos:
- Python 3.10+
- obs_studio deve estar instalado no seu sistema
Uso
Comandos Básicos
# Mostrar ajuda
cli-anything-obs_studio --help
# Iniciar modo REPL interativo
cli-anything-obs_studio
# Criar um novo projeto
cli-anything-obs_studio project new -o project.json
# Executar com saída JSON (para consumo por agentes)
cli-anything-obs_studio --json project info -p project.json
Modo REPL
Quando invocado sem um subcomando, a CLI entra em uma sessão REPL interativa:
cli-anything-obs_studio
# Digite comandos interativamente com autocompletar e histórico
Grupos de Comandos
Projeto
Comandos de gerenciamento de projeto.
| Comando | Descrição |
|---|---|
new | Criar uma nova coleção de cenas OBS |
open | Abrir um projeto existente |
save | Salvar o projeto atual |
info | Mostrar informações do projeto |
json | Imprimir o JSON bruto do projeto |
Grupo de Cenas
Comandos de gerenciamento de cenas.
| Comando | Descrição |
|---|---|
add | Adicionar uma nova cena |
remove | Remover uma cena por índice |
duplicate | Duplicar uma cena |
set-active | Definir a cena ativa |
list | Listar todas as cenas |
Grupo de Fontes
Comandos de gerenciamento de fontes.
| Comando | Descrição |
|---|---|
add | Adicionar uma fonte a uma cena |
remove | Remover uma fonte por índice |
duplicate | Duplicar uma fonte |
set | Definir uma propriedade da fonte (nome, visível, bloqueada, opacidade, rotação) |
transform | Transformar uma fonte (posição, tamanho, corte, rotação) |
list | Listar todas as fontes em uma cena |
Grupo de Filtros
Comandos de gerenciamento de filtros.
| Comando | Descrição |
|---|---|
add | Adicionar um filtro a uma fonte |
remove | Remover um filtro de uma fonte |
set | Definir um parâmetro de filtro |
list | Listar todos os filtros em uma fonte |
list-available | Listar todos os tipos de filtro disponíveis |
Grupo de Áudio
Comandos de gerenciamento de áudio.
| Comando | Descrição |
|---|---|
add | Adicionar uma fonte de áudio global |
remove | Remover uma fonte de áudio global |
volume | Definir volume para uma fonte de áudio (0,0-3,0) |
mute | Silenciar uma fonte de áudio |
unmute | Ativar som de uma fonte de áudio |
monitor | Definir tipo de monitoramento de áudio |
list | Listar todas as fontes de áudio |
Grupo de Transições
Comandos de gerenciamento de transições.
| Comando | Descrição |
|---|---|
add | Adicionar uma transição |
remove | Remover uma transição |
set-active | Definir a transição ativa |
duration | Definir duração da transição em milissegundos |
list | Listar todas as transições |
Grupo de Saída
Configuração de saída/streaming/gravação.
| Comando | Descrição |
|---|---|
streaming | Configurar definições de streaming |
recording | Configurar definições de gravação |
settings | Configurar definições de saída |
info | Mostrar configuração de saída atual |
presets | Listar predefinições de codificação disponíveis |
Sessão
Comandos de gerenciamento de sessão.
| Comando | Descrição |
|---|---|
status | Mostrar status da sessão |
undo | Desfazer a última operação |
redo | Refazer a última operação desfeita |
history | Mostrar histórico de desfazer |
Exemplos
Criar um Novo Projeto
Crie um novo arquivo de projeto obs_studio.
cli-anything-obs_studio project new -o myproject.json
# Ou com saída JSON para uso programático
cli-anything-obs_studio --json project new -o myproject.json
Sessão REPL Interativa
Inicie uma sessão interativa com suporte a desfazer/refazer.
cli-anything-obs_studio
# Digite comandos interativamente
# Use 'help' para ver os comandos disponíveis
# Use 'undo' e 'redo' para navegação no histórico
Gerenciamento de Estado
A CLI mantém estado da sessão com:
- Desfazer/Refazer: Até 50 níveis de histórico
- Persistência de projeto: Salvar/carregar estado do projeto como JSON
- Rastreamento de sessão: Rastrear modificações e alterações
Formatos de Saída
Todos os comandos suportam dois modos de saída:
- Legível por humanos (padrão): Tabelas, cores, texto formatado
- Legível por máquina (flag
--json): JSON estruturado para consumo por agentes
# Saída humana
cli-anything-obs_studio project info -p project.json
# Saída JSON para agentes
cli-anything-obs_studio --json project info -p project.json
Para Agentes de IA
Ao usar esta CLI programaticamente:
- Sempre use a flag
--jsonpara saída analisável - Verifique os códigos de retorno - 0 para sucesso, diferente de zero para erros
- Analise o stderr para mensagens de erro em caso de falha
- Use caminhos absolutos para todas as operações de arquivo
- Verifique se as saídas existem após operações de exportação
Mais Informações
- Documentação completa: Consulte README.md no pacote
- Cobertura de testes: Consulte TEST.md no pacote
- Metodologia: Consulte HARNESS.md no cli-anything-plugin
Versão
1.0.0