O que cli-anything-openscreen faz?
Uma interface de linha de comando stateful para editar gravações de tela. Transforme capturas brutas em vídeos de demonstração polidos com efeitos de zoom, ajustes de velocidade, cortes, anotações e fundos bonitos.
Instalação
pip install cli-anything-openscreen
Pré-requisitos:
- Python 3.10+
- ffmpeg deve estar instalado no seu sistema
Uso
Comandos Básicos
cli-anything-openscreen --help
cli-anything-openscreen # Modo REPL
cli-anything-openscreen project new -v recording.mp4 -o project.openscreen
cli-anything-openscreen --json project info
Modo REPL
Execute cli-anything-openscreen sem argumentos para entrar no modo interativo.
Digite help para ver os comandos disponíveis, quit para sair.
Grupos de Comandos
project
Crie, abra, salve e configure projetos.
| Comando | Descrição |
|---|---|
project new [-v VIDEO] [-o PATH] | Criar novo projeto com vídeo opcional |
project open <path> | Abrir projeto .openscreen existente |
project save [-o PATH] | Salvar projeto em arquivo |
project info | Mostrar metadados do projeto e contagem de regiões |
project set-video <path> | Definir arquivo de vídeo de origem |
project set <chave> <valor> | Definir configuração do editor (padding, wallpaper, etc.) |
zoom
Gerencie regiões de zoom — efeitos de zoom suave em áreas específicas da linha do tempo.
| Comando | Descrição |
|---|---|
zoom list | Listar todas as regiões de zoom |
zoom add --start MS --end MS [--depth 1-6] [--focus-x 0-1] [--focus-y 0-1] | Adicionar zoom |
zoom remove <id> | Remover região de zoom |
Profundidades de zoom: 1=1.25x, 2=1.5x, 3=1.8x, 4=2.2x, 5=3.5x, 6=5.0x
speed
Gerencie regiões de velocidade — acelere momentos ociosos, desacelere momentos importantes.
| Comando | Descrição |
|---|---|
speed list | Listar todas as regiões de velocidade |
speed add --start MS --end MS [--speed 0.25-2.0] | Adicionar alteração de velocidade |
speed remove <id> | Remover região de velocidade |
Velocidades válidas: 0.25, 0.5, 0.75, 1.25, 1.5, 1.75, 2.0
trim
Gerencie regiões de corte — remova seções da gravação.
| Comando | Descrição |
|---|---|
trim list | Listar todas as regiões de corte |
trim add --start MS --end MS | Cortar uma seção |
trim remove <id> | Remover região de corte |
crop
Defina a área visível da gravação.
| Comando | Descrição |
|---|---|
crop get | Mostrar região de crop atual |
crop set --x 0-1 --y 0-1 --width 0-1 --height 0-1 | Definir crop (normalizado) |
annotation
Adicione sobreposições de texto à gravação.
| Comando | Descrição |
|---|---|
annotation list | Listar todas as anotações |
annotation add-text --start MS --end MS --text "..." [--x 0-1] [--y 0-1] | Adicionar texto |
annotation remove <id> | Remover anotação |
media
Inspecione e valide arquivos de mídia.
| Comando | Descrição |
|---|---|
media probe <path> | Mostrar metadados do vídeo (resolução, duração, codec) |
media check <path> | Validar um arquivo de vídeo |
media thumbnail <input> <output> [-t TIME] | Extrair um frame |
export
Renderize o vídeo final polido.
| Comando | Descrição |
|---|---|
export presets | Listar predefinições de exportação disponíveis |
export render <output_path> | Renderizar projeto para arquivo de vídeo |
preview
Capture pacotes de revisão verdadeiros a partir do projeto Openscreen atual.
| Comando | Descrição |
|---|---|
preview recipes | Listar receitas de preview disponíveis |
preview capture --recipe quick | Renderizar um pacote de preview de baixa resolução |
preview latest [--recipe quick] | Retornar o pacote existente mais recente |
O suporte atual a preview é estático, não ao vivo. Um pacote quick geralmente contém:
- um clipe de preview de baixa resolução
- frames amostrados
- um frame
heropara inspeção rápida summary.jsoncom informações de cortes/zoom/velocidade
A captura do pacote também escreve ou atualiza um trajectory.json estável no nível da receita ao lado da raiz do preview, para que agentes possam reconstruir o histórico de preview ao longo do tempo.
Comandos do visualizador:
cli-hub previews inspect /path/to/bundle
cli-hub previews html /path/to/bundle -o page.html
cli-hub previews open /path/to/bundle
session
Gerencie o estado da sessão com desfazer/refazer.
| Comando | Descrição |
|---|---|
session status | Mostrar informações da sessão |
session undo | Desfazer última operação |
session redo | Refazer última operação desfeita |
session save | Salvar estado da sessão em disco |
session list | Listar todas as sessões salvas |
Gerenciamento de Estado
- Desfazer/Refazer: Até 50 níveis de histórico de desfazer
- Persistência de projetos: Arquivos JSON
.openscreen - Rastreamento de sessão: rastreia modificações automaticamente
Formatos de Saída
- Legível para humanos (padrão): Pares chave-valor formatados
- Legível para máquina (
--json): Saída JSON estruturada
Configurações do Editor
| Configuração | Tipo | Padrão | Descrição |
|---|---|---|---|
aspectRatio | string | "16:9" | 16:9, 9:16, 1:1, 4:3, 4:5 |
wallpaper | string | "gradient_dark" | Predefinição de fundo |
padding | int | 50 | 0-100, espaçamento ao redor do vídeo |
borderRadius | int | 12 | Raio do canto em pixels |
shadowIntensity | float | 0 | 0-1, intensidade da sombra projetada |
motionBlurAmount | float | 0 | 0-1, desfoque de movimento durante o zoom |
exportQuality | string | "good" | medium, good, source |
exportFormat | string | "mp4" | mp4, gif |
Para Agentes de IA
- Sempre use
--jsonpara saída analisável - Verifique os códigos de retorno — 0 = sucesso, diferente de zero = erro
- Analise o stderr para mensagens de erro no modo não JSON
- Use caminhos de arquivo absolutos
- Após
export render, verifique se a saída existe e faça uma probe - Os tempos estão em milissegundos para todos os comandos de região
- Coordenadas (foco, crop, posição) são normalizadas 0-1
- Use
preview capture --jsonpara validar visualmente zoom, corte, anotação e temporização - Leia os caminhos dos artefatos do pacote retornados no payload JSON; imagens e clipes residem no disco
- Use
cli-hub previews ...apenas para inspecionar/abrir pacotes existentes
Versão
1.0.0