Video Frame Expedition for DaVinci Resolve
Video Frame Expedition for DaVinci Resolve analisa seus rushes com um modelo de visão local, para que um assistente de IA possa editar sabendo o que cada cena contém.
Documentação
English · Français
Video Frame Expedition for DaVinci Resolve analisa seus rushes com um modelo de visão local, para que um assistente de IA possa editar sabendo o que cada cena contém.
Análise: metadados, local, hora, sol e clima da gravação; cenas, keyframes e assuntos; sons, fala e texto na tela. Em inglês e em francês.
Busca semântica: cenas, keyframes, fala e capítulos tornam-se passagens cronometradas, encontradas por palavras-chave e por significado (busca híbrida: texto completo e vetores calculados localmente). Filtros por clima, luz, local, datas, assuntos, enquadramento ou qualidade; o modelo local responde perguntas sobre toda a biblioteca e cita suas fontes.
Banco de dados resiliente: cada vídeo é reconhecido pelo seu conteúdo, não pelo seu caminho: movido ou renomeado, ele mantém suas análises sem ser analisado novamente. Arquivos de análise ao lado dos vídeos os trazem de volta em outro computador ou após a perda do banco de dados.
Para assistentes de IA (Claude, Cursor, VS Code, Codex): um servidor MCP com 25 ferramentas. O assistente de IA lê a linha do tempo aberta no Resolve, sabe o que cada clipe contém, busca cenas em toda a biblioteca, obtém pontos de corte seguros e reenquadramentos, e monta a edição em uma nova linha do tempo. Tarefas simples (descrever quadros, responder sobre a biblioteca, localizar um assunto) vão para o modelo local: o assistente de IA só recebe os resultados e economiza seus tokens.
Além do MCP do Resolve: quatro ferramentas controlam o Resolve Studio 21.1 por meio de scripts fixos e testados, em vez de código reescrito para cada solicitação: leitura da linha do tempo com intervalos de origem exatos, reenquadramento (9:16…) centrado nos assuntos, uma nova linha do tempo construída e depois verificada valor por valor, marcadores. Elas contornam armadilhas conhecidas da API do Resolve 21.1, nunca modificam uma linha do tempo existente e também controlam um Resolve remoto, o que o servidor MCP da Blackmagic ainda não faz. O assistente de IA ainda pode trabalhar na linha do tempo aberta por meio do MCP do Resolve.
Com o DaVinci Resolve, nos dois sentidos: vídeos selecionados tornam-se uma linha do tempo com legendas e marcadores; uma linha do tempo do Resolve entra na biblioteca e seus vídeos são analisados.
Autônomo: uma interface web para navegar pelas análises, buscar e consultar toda a biblioteca.
Versão para Windows. Este repositório contém o aplicativo para Windows 11. Foi desenvolvido e testado com uma placa de vídeo NVIDIA, que ele usa quando o modelo de visão deixa memória suficiente (decodificação de vídeo e, opcionalmente, reconhecimento de fala). Sem uma, esse trabalho roda no processador, e o modelo de visão roda no que o LM Studio suportar no seu computador; outras placas de vídeo não foram testadas. Uma versão para macOS está planejada como um repositório separado.
Apresentação em vídeo, nove minutos: youtu.be/G0WT96QsGsU; em francês: youtu.be/1EI36bRbdWo.
Esta é a nova versão do Video Frame Expedition; ela substitui a anterior.
Seus quadros e sons nunca saem da sua máquina, exceto, se você escolher, para ir ao LM Studio em outro dos seus computadores; o modelo de visão roda na sua placa de vídeo. As análises fazem apenas duas chamadas de rede (uma posição aproximada e uma data, para encontrar o local e o clima), e um interruptor na página Sistema as desliga; o mesmo interruptor oculta o mapa do OpenStreetMap da aba Contexto, que carrega seus blocos da internet. A página de ajuda carrega suas fontes do Google Fonts e seus vídeos de apresentação do YouTube (youtube-nocookie.com, somente quando você rola até eles).
Princípios
- Local primeiro: seus quadros e sons nunca saem da sua máquina. Os únicos dados enviados (coordenadas GPS e uma data, para o local e o clima) podem ser desligados na página Sistema, junto com o mapa da aba Contexto.
- Escalonamento entre modelos: as tarefas simples vão para o modelo local, na sua máquina (analisar os vídeos, responder a uma pergunta sobre a biblioteca com
ask_library, localizar um assunto em um quadro complan_reframe), e o assistente só recebe o resultado. O nível complexo (entender uma solicitação, escolher as cenas, editar) pertence ao modelo de fronteira (Claude…), que custa mais. Ele não precisa mais olhar centenas de quadros ou escrever scripts para o Resolve, então usa muito menos tokens. - Seus rushes permanecem intactos: a única coisa escrita nas suas pastas de vídeo é um pequeno arquivo de análise por vídeo e por idioma (
<name>_FR.txt,<name>_EN.txt; JSON, sem imagens), que pode ser desligado na página Sistema. Ele traz as análises de volta sem refazê-las (banco de dados perdido, outro computador); também contém a posição GPS e o que é dito, então compartilhar a pasta compartilha isso também. Quando você cria uma linha do tempo no DaVinci Resolve com legendas, cada vídeo também recebe as suas:<name>_EN.srt(o que é dito, no idioma falado) e<name>_SHOTS_EN.srt(as cenas, no idioma da interface). Um arquivo que o aplicativo não escreveu, ou que você alterou, nunca é substituído. - O modelo de visão permanece na GPU: o aplicativo usa o modelo que você carregou no LM Studio e nunca o recarrega nem carrega outro durante as análises. Ele decodifica vídeos na GPU somente quando esse modelo deixa memória livre suficiente (com
qwen/qwen3-vl-4b, por exemplo). - Escolhendo seu modelo de visão: a página "Bench de modelos" compara os modelos do LM Studio que você marca, em quadros da sua biblioteca. Cada um é carregado sozinho, consultado da maneira que as análises o consultam e depois descarregado; uma tabela dá a memória gráfica usada, o tempo por quadro, as respostas válidas, se as respostas estão no idioma solicitado, o texto lido e as posições, e você avalia as descrições às cegas. Um ranking, perfis e gráficos resumem essas medidas, e um histórico mantém cada teste: o ranking geral compara o último resultado de cada modelo em todos os testes. Este é o único lugar onde o aplicativo carrega um modelo, a seu pedido; ele então recarrega o que estava lá antes.
- LM Studio aqui ou em outro lugar: por padrão, o aplicativo fala com o LM Studio neste computador. O cartão "LM Studio" da página Sistema pode apontá-lo para outro computador na sua rede local ou no Tailscale, um com uma placa de vídeo mais potente. O aplicativo testa esse computador antes de mudar para ele e mantém as conexões passadas a um clique de distância. Os quadros dos seus vídeos então vão para esse computador, e somente para ele.
- Dois idiomas: cada análise existe em francês e em inglês. Os modelos escrevem em um idioma (página Sistema), e então a etapa "Tradução" traduz seus textos para o outro, sem refazer nada; a interface os mostra e os exporta (arquivos, linhas do tempo, legendas) no seu próprio idioma. Os nomes dos arquivos terminam com seu idioma:
_FR,_EN. - Uma análise concluída é mantida: executar a análise novamente só faz o que está faltando. "Atualizar" e "Refazer tudo" são escolhas explícitas.
- Sons, fala e texto na CPU: YAMNet (sons e instrumentos) com uma segunda opinião do CED-small ("sons ouvidos": pássaros, sapos, insetos, chuva, passos… com seus timestamps), Whisper large-v3-turbo (transcrição, em um processo separado) e PP-OCRv6 (texto na tela) rodam no processador. Seus modelos são baixados uma vez pelo script de instalação. Como opção (página Sistema), o Whisper pode emprestar a GPU quando o modelo de visão deixa memória suficiente (
vfe models cuda-runtime). - Onde estão os assuntos: uma caixa ao redor de cada ser vivo (pessoas, animais, insetos) nos keyframes, posições que podem ser reutilizadas para reenquadrar (MCP
get_object_locations). O modelo de visão já carregado os encontra todos, e então D-FINE e YuNet (na CPU) apertam as caixas e completam as multidões. Somente posições: ninguém é identificado. - O que acontece em cada cena: o modelo de visão descreve o que acontece em cada cena a partir de vários de seus quadros, em ordem (um inseto decolando, uma mão adicionando um ingrediente), com o tempo de cada quadro. Aba de cenas, faixa da linha do tempo e MCP
get_shots. - Encontrando tudo novamente: a página Busca procura em toda a biblioteca pelo que é visto, dito, ouvido ou lido, por palavras-chave e por significado (EmbeddingGemma, na CPU), com filtros (clima, luz, local, datas, assuntos, enquadramento…); um clique abre o vídeo no momento certo. MCP
search_memoryefind_clips(cenas prontas para o Resolve). - Fazendo perguntas: a página Perguntas responde a uma pergunta sobre toda a biblioteca com o modelo carregado, citando suas fontes (um clique abre o vídeo no momento certo), com uma verificação opcional contra os quadros. MCP
ask_library. - Exportando: aba Exportações de cada vídeo (legendas SRT/VTT, cenas como CSV para Excel, capítulos do YouTube, EDL de marcadores, análise JSON, planilha MANIFEST, script do Resolve) e uma tabela CSV dos vídeos selecionados. Nada é escrito ao lado dos vídeos.
- Criando uma linha do tempo: os vídeos marcados, de ponta a ponta, em ordem de gravação (ou outra ordem), como um arquivo para importar no DaVinci Resolve (Arquivo › Importar › Linha do tempo) ou, quando o Resolve está aberto, diretamente no projeto atual. Como você escolher, a transcrição e as descrições das cenas tornam-se legendas (uma faixa cada), as sugestões tornam-se marcadores de duração e os capítulos tornam-se marcadores. O download é um ZIP: OTIO para o Resolve, FCPXML para o Final Cut Pro, arquivos SRT e um README.txt. Quando a linha do tempo é criada diretamente, as legendas são colocadas nela (uma faixa "Transcrição", uma faixa "Cenas") e também escritas ao lado de cada vídeo.
Requisitos
- Windows 11.
- uv, Node.js 24 LTS (a interface web é construída no primeiro início), FFmpeg e ExifTool:
scripts/bootstrap.ps1os instala. - LM Studio com o servidor local habilitado e um modelo de visão carregado (por exemplo,
qwen/qwen3-vl-8b), neste computador ou em outro computador da sua rede (página Sistema, cartão "LM Studio"). - DaVinci Resolve Studio 21.1 ou posterior, para o link com o Resolve.
Instalação
-
Obtenha o aplicativo:
git clone https://github.com/VideoFrameExpedition/video-frame-expedition-resolve-windows.git, ou o botão "Code › Download ZIP" do GitHub, e então descompacte-o. -
No PowerShell, a partir da pasta do aplicativo:
powershell -ExecutionPolicy Bypass -File scripts\bootstrap.ps1O script usa
wingetpara instalar o que está faltando (uv, Node.js, FFmpeg, ExifTool, LM Studio), e então os pacotes Python do aplicativo e seus modelos (cerca de 2 GB, baixados uma vez;-SansModelesos pula). Aceite os prompts do Windows (UAC). Suas mensagens estão em francês. -
No LM Studio, baixe um modelo de visão (por exemplo,
qwen/qwen3-vl-8b), carregue-o e inicie o servidor local. -
Clique duas vezes em
run.bat. Na primeira vez, ele constrói a interface web (um ou dois minutos) e então abre o navegador.
Linha de comando. Nesta página, vfe <command> representa o seguinte comando, digitado no PowerShell a partir da pasta do aplicativo:
uv run --frozen --no-dev --project backend python -m vfe_vision <command>
Por exemplo, vfe doctor verifica FFmpeg, ExifTool, LM Studio e a GPU.
Início rápido
No dia a dia: clique duas vezes em run.bat. Ele inicia o aplicativo (interface, MCP e análises) e abre o navegador em http://127.0.0.1:8765.. Se o aplicativo já estiver em execução, ele simplesmente abre a interface. run.bat build reconstrói a interface web primeiro após uma atualização. Para parar o aplicativo, feche sua janela.
A página "Ajuda" na barra lateral é o guia completo: doze partes, as sete abas de um vídeo uma a uma, cerca de cinquenta capturas de tela da interface em francês, com o texto em francês e em inglês. É o arquivo
frontend/public/help/index.html, servido em
http://127.0.0.1:8765/help/index.html;; a pasta também pode ser hospedada em outro lugar como está.
O vídeo de apresentação (nove minutos, dez capítulos) está no YouTube e na página de ajuda; o mesmo vale para sua versão em francês (oito minutos), no YouTube e na página de ajuda em francês. Conectando assistentes (Claude Code, Claude Desktop, Cursor, VS Code, Codex) e usando o aplicativo de seus outros dispositivos via Tailscale: página "Conexões" da interface e guia.
Configurações lidas na inicialização (endereço e porta, caminhos das ferramentas, endereço do LM Studio): copie
docs/env.example para um arquivo .env ao lado de run.bat. Todo o resto é
definido na interface.
Desenvolvimento
As tarefas de desenvolvimento passam por just (winget install Casey.Just);
cada receita do justfile também pode ser executada manualmente se o Smart App Control bloquear just.exe.
just setup # backend + frontend dependencies, pre-commit hook
just build # builds the web interface
just serve # starts the application on http://127.0.0.1:8765
| Comando | Função |
|---|---|
just dev-backend / just dev-frontend | servidores de desenvolvimento (API :8765, Vite :5173) |
just check | lint, tipagem estrita, contratos de arquitetura e testes (backend + frontend) |
just test-live | testes que usam LM Studio, os modelos, a GPU ou a internet |
just gen-client | regenera o esquema OpenAPI e o cliente TypeScript |
Editando com Claude Code e DaVinci Resolve
O servidor vfe-vision tem 25 ferramentas. Quatro delas controlam o DaVinci Resolve Studio 21.1 em
nome do assistente quando a caixa "Ferramentas do Resolve para o assistente" da página de
Conexões está marcada (desativada por padrão). A abordagem:
read_timelinelê a linha do tempo aberta e vincula cada clipe ao seu vídeo analisado, com intervalos corretos em segundos;match_clipsinforma o que cada intervalo contém;- Claude escolhe os planos (
find_clips,get_synthesis,get_frames) e pedeget_cut_pointspor pontos de entrada e saída seguros (nunca no meio de uma palavra, com J-cuts e L-cuts); plan_reframeprepara o reenquadramento para outra proporção de tela (9:16…): o trabalho de imagem é feito localmente, pelo modelo de visão carregado no LM Studio (respostas mantidas em cache), e Claude só olha as folhas de contato dos planos que foram sinalizados;build_timelinecria uma linha do tempo nova "… - vfe vN" com esses planos e esses reenquadramentos, lê cada duração e cada valor de volta, eapply_markerscoloca capítulos, destaques e metadados. Nenhuma linha do tempo existente é modificada e o projeto não é salvo: pressione Ctrl+S no Resolve se você mantiver a edição.
Sem a caixa, Claude escreve os mesmos passos como scripts para o servidor MCP do DaVinci Resolve
Studio (match_clips, get_reframe e get_resolve_payload fornecem os dados; o prompt plan_edit
descreve essa abordagem e a faz funcionar em uma cópia da linha do tempo), com cortes diretos
e cross-dissolves apenas.
Claude adiciona uma nova pasta à biblioteca (analyze_folder) somente se a página do Sistema permitir.
Todas as ferramentas: docs/mcp-tools.md.
Documentação
- Arquitetura
- Ferramentas, recursos e prompts do servidor MCP
- Guias do usuário
- Segurança · Licenças de terceiros
- O logotipo
O aplicativo foi desenvolvido em francês. A interface, sua página de ajuda, esta página e os documentos acima existem em ambos os idiomas; as mensagens do lançador e da linha de comando estão em francês.
Licença
Gratuito e de código aberto, sob a Apache License 2.0. Você pode usar, modificar, integrar e compartilhar, inclusive para trabalho pago, desde que mantenha o aviso de direitos autorais e o arquivo NOTICE. Fornecido como está, sem garantia ou suporte.
Contribuições
Este repositório é publicado para que o aplicativo possa ser instalado e seu código lido. Ele não aceita contribuições de código: pull requests não são mesclados. Para relatar um bug, abra uma issue: o formulário pede a versão do Windows, a placa gráfica, o modelo carregado no LM Studio e a mensagem de erro. Para relatar uma falha de segurança, veja SECURITY.md.