- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
30 lines
1.6 KiB
Python
30 lines
1.6 KiB
Python
import json
|
||
from pathlib import Path
|
||
from engine.integracoes.midia import ExtracaoDeAudio
|
||
from engine.integracoes.premiere.cliente_mcp import ClienteMCPPorStdio
|
||
from engine.integracoes.premiere.conversores import ConversorDeTimeline
|
||
from engine.integracoes.whisper import ProviderDeTranscricaoLocal
|
||
from engine.scanner.transcricao_da_timeline import TranscricaoDaTimeline
|
||
|
||
ARQUIVO = Path('/Volumes/Merongo/PROJETOS/03 - Mastopexia/0E6A8290.MP4')
|
||
MODELO = Path('/Volumes/Merongo/Applications/Trasncritor/small')
|
||
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 = ProviderDeTranscricaoLocal(str(MODELO))
|
||
resultados = TranscricaoDaTimeline(provider, ExtracaoDeAudio(duracao_da_parte=600), SAIDA/'audio-local').executar(timeline)
|
||
linhas = [f'# Relatório de transcrição — {timeline.nome}', '', 'Provider: faster-whisper local (modelo small)',
|
||
f'Duração: {bruta["end"]:.3f} s', '']
|
||
for resultado in resultados:
|
||
linhas += [f'## {resultado.identificador_do_clipe} — {resultado.inicio_na_timeline:.3f}s–{resultado.fim_na_timeline:.3f}s',
|
||
f'Origem: {resultado.arquivo}', '', resultado.texto or '_Sem fala detectada._', '']
|
||
(SAIDA/'transcricao-timeline-local.md').write_text('\n'.join(linhas), encoding='utf-8')
|
||
print(SAIDA/'transcricao-timeline-local.md')
|