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.apple_speech import ProviderDeTranscricaoApple from engine.scanner.transcricao_da_timeline import TranscricaoDaTimeline ARQUIVO = Path('/Volumes/Merongo/PROJETOS/03 - Mastopexia/0E6A8290.MP4') 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 = ProviderDeTranscricaoApple('/private/tmp/apple-speech-transcriber', 'pt-BR') resultados = TranscricaoDaTimeline(provider, ExtracaoDeAudio(duracao_da_parte=600), SAIDA/'audio-apple').executar(timeline) linhas = [f'# Relatório de transcrição — {timeline.nome}', '', 'Provider: Apple Speech (macOS)', 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-apple.md').write_text('\n'.join(linhas), encoding='utf-8') print(SAIDA/'transcricao-timeline-apple.md')