- reorganizado o fluxo de edição para validar a análise do Scanner, selecionar o tipo de vídeo e enviar suas instruções no JSON. - banco de análises: métricas de fala viraram colunas, busca lexical FTS5, enunciados com embeddings, views achatadas de leitura (fala/palavra/linha do tempo/fala com visual), ingestor do pipeline de voz e gravação idempotente de evidências visuais e cenas. - retakes passam a ser gravados no banco de análises (SQLite) em vez de JSON por caso, com status de revisão persistido. - planos de edição e suas aplicações passam a ser registrados no banco, em vez de se perderem no arquivo temporário. - comando de limpeza das evidências visuais e cenas duplicadas por execuções antigas do Scanner. - análise visual: OpenCV (rostos) e PySceneDetect passam a entrar no detector local por padrão; novo adapter InsightFace gera assinatura facial (embedding) para reconhecer a mesma pessoa entre tomadas, gravada como evidência visual no banco. - corrigido: métricas de fala (energia, pitch, velocidade) agora gravam nas colunas dedicadas, não só no JSON; a view fala+visual passa a casar por vídeo e tempo, já que o mesmo arquivo entra na timeline como clipes distintos de vídeo e áudio; views são recriadas a cada abertura do banco para uma correção de consulta chegar a bancos já existentes. - reordenadas as abas do painel CEP para Scanner, Refinar e Editar vídeo Resumo: - 24 arquivos alterados - 9 novos - 15 modificados - 0 removidos 15 files changed, 872 insertions(+), 29 deletions(-) Arquivos: - .jhonny/analises.db - code/cep-plugin/index.html - code/cep-plugin/main.js - code/engine/aplicar_plano_de_edicao.py - code/engine/integracoes/visual/README.md - code/engine/integracoes/visual/__init__.py - code/engine/integracoes/visual/analisadores.py - code/engine/persistencia/__init__.py - code/engine/persistencia/esquema.py - code/engine/persistencia/repositorio_de_analises_sqlite.py - code/engine/persistencia/repositorio_de_retakes_sqlite.py - code/engine/requirements-visual.txt - code/engine/scanner/configuracao_visual.py - code/engine/scanner/visual.py - code/engine/testes/test_analise_visual_local.py - .jhonny/analises.db.pos-scanner-084841 - code/engine/integracoes/embeddings/ - code/engine/limpar_duplicatas.py - code/engine/persistencia/busca_de_conteudo.py - code/engine/persistencia/enunciados.py - code/engine/persistencia/ingestao_de_voz.py - code/engine/persistencia/limpeza.py - code/engine/persistencia/repositorio_de_planos.py - code/engine/testes/test_busca_de_conteudo.py
58 lines
1.8 KiB
Python
58 lines
1.8 KiB
Python
"""Persistência SQLite das análises de vídeo, imagem e áudio do Scanner.
|
|
|
|
Este pacote implementa a "camada de banco de dados" prevista no docstring
|
|
de ``scanner/retakes/repositorio_de_retakes.py``: um schema SQLite único
|
|
para vídeos, metadados de arquivo, transcrição, evidências visuais/cenas e
|
|
grupos de retake, com repositórios que espelham a interface dos
|
|
repositórios JSON já existentes.
|
|
"""
|
|
|
|
from .busca_de_conteudo import BuscaDeConteudo, ErroDeBusca, IndexadorSemantico, ResultadoDeBusca
|
|
from .conexao import abrir_banco
|
|
from .consultas import ConsultasDeAnalises, ErroDeConsultaInvalida
|
|
from .enunciados import AgrupadorDeEnunciados, Enunciado, RepositorioDeEnunciados
|
|
from .esquema import criar_esquema, reconstruir_indice_de_busca
|
|
from .ingestao_de_voz import (
|
|
ErroDeIngestaoDeVoz,
|
|
IngestorDeVozNoBanco,
|
|
LeitorDeDadosParaIA,
|
|
)
|
|
from .limpeza import LimpadorDeDuplicatas
|
|
from .repositorio_de_planos import (
|
|
AcaoDoPlano,
|
|
ErroDePlano,
|
|
PlanoDeEdicao,
|
|
RepositorioDePlanos,
|
|
plano_de_dict,
|
|
)
|
|
from .repositorio_de_analises_sqlite import RepositorioDeAnalisesSQLite
|
|
from .repositorio_de_retakes_sqlite import RepositorioDeRetakesSQLite
|
|
from .repositorio_de_timeline_sqlite import RepositorioDeTimelineSQLite
|
|
|
|
__all__ = [
|
|
"AcaoDoPlano",
|
|
"AgrupadorDeEnunciados",
|
|
"BuscaDeConteudo",
|
|
"Enunciado",
|
|
"ErroDeBusca",
|
|
"ErroDeIngestaoDeVoz",
|
|
"ErroDePlano",
|
|
"IndexadorSemantico",
|
|
"IngestorDeVozNoBanco",
|
|
"LeitorDeDadosParaIA",
|
|
"LimpadorDeDuplicatas",
|
|
"PlanoDeEdicao",
|
|
"RepositorioDeEnunciados",
|
|
"RepositorioDePlanos",
|
|
"ResultadoDeBusca",
|
|
"abrir_banco",
|
|
"criar_esquema",
|
|
"plano_de_dict",
|
|
"reconstruir_indice_de_busca",
|
|
"RepositorioDeAnalisesSQLite",
|
|
"RepositorioDeRetakesSQLite",
|
|
"RepositorioDeTimelineSQLite",
|
|
"ConsultasDeAnalises",
|
|
"ErroDeConsultaInvalida",
|
|
]
|