feat: initial commit - Jhonny Editor
- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import json
|
||||
from pathlib import Path
|
||||
from engine.integracoes.midia import ExtracaoDeAudio
|
||||
from engine.integracoes.groq import ProviderDeTranscricaoGroq
|
||||
from engine.integracoes.premiere.cliente_mcp import ClienteMCPPorStdio
|
||||
from engine.integracoes.premiere.conversores import ConversorDeTimeline
|
||||
from engine.scanner.transcricao_da_timeline import TranscricaoDaTimeline
|
||||
|
||||
ARQUIVO = Path('/Volumes/Merongo/PROJETOS/03 - Mastopexia/0E6A8290.MP4')
|
||||
CHAVE = json.loads((Path.home()/'.premiere-mcp/config.json').read_text()).get('groqApiKey','')
|
||||
SAIDA = Path('/Volumes/Merongo/SISTEMAS/GENIAL SISTEMAS/Jhonny/code/relatorios')
|
||||
|
||||
cliente = ClienteMCPPorStdio(['node', 'dist/index.js'])
|
||||
cliente.conectar()
|
||||
bruta = cliente.chamar('get_active_sequence', {})['structuredContent']['data']
|
||||
timeline = ConversorDeTimeline().converter(bruta)
|
||||
for faixa in timeline.faixas:
|
||||
for clipe in faixa.clipes:
|
||||
if clipe.nome == '0E6A8290.MP4': clipe.arquivo = str(ARQUIVO)
|
||||
|
||||
provider = ProviderDeTranscricaoGroq(CHAVE)
|
||||
transcricoes = TranscricaoDaTimeline(provider, ExtracaoDeAudio(duracao_da_parte=600), SAIDA/'audio').executar(timeline)
|
||||
|
||||
linhas = [f'# Relatório de transcrição — {timeline.nome}', '', f'Duração: {bruta["end"]:.3f} s',
|
||||
f'Clipes processados: {sum(len(f.clipes) for f in timeline.faixas if f.tipo == "video")}', '']
|
||||
for faixa in timeline.faixas:
|
||||
if faixa.tipo != 'video': continue
|
||||
for clipe in faixa.clipes:
|
||||
if clipe.nome != '0E6A8290.MP4': continue
|
||||
resultado = next((r for r in transcricoes if r.identificador_do_clipe == clipe.identificador), None)
|
||||
intervalo = clipe.intervalo_na_origem
|
||||
texto = resultado.texto if resultado else ''
|
||||
linhas += [f'## {clipe.identificador} — {clipe.intervalo_na_timeline.inicio:.3f}s–{clipe.intervalo_na_timeline.fim:.3f}s',
|
||||
f'Origem: {intervalo.inicio:.3f}s–{intervalo.fim:.3f}s', '', texto or '_Sem fala detectada._', '']
|
||||
(SAIDA/'transcricao-timeline.md').write_text('\n'.join(linhas), encoding='utf-8')
|
||||
print(SAIDA/'transcricao-timeline.md')
|
||||
Reference in New Issue
Block a user