feat: criado modo explícito de análise do Scanner para separar som

- criado modo explícito de análise do Scanner para separar som, imagem ou ambos

Resumo:
- 5 arquivos alterados
- 0 novos
- 5 modificados
- 0 removidos

 5 files changed, 68 insertions(+), 11 deletions(-)

Arquivos:
  - code/cep-plugin/index.html
  - code/cep-plugin/main.js
  - code/cep-plugin/styles.css
  - code/engine/executar_scanner.py
  - code/engine/scanner/configuracao_visual.py
This commit is contained in:
João Henrique
2026-09-09 17:04:49 -04:00
parent 53a8307f38
commit 89288d95f0
5 changed files with 68 additions and 11 deletions
@@ -38,6 +38,7 @@ class ConfiguracaoVisualDoScanner:
resolucao_maxima: int = 1080
faixas_de_video: tuple[int, ...] = ()
faixas_de_audio: tuple[int, ...] = ()
modo_de_analise: str = "ambos"
recursos_vision: frozenset[str] = RECURSOS_VISION
detectar_cenas: bool = True
analisar_continuidade: bool = True
@@ -56,6 +57,8 @@ class ConfiguracaoVisualDoScanner:
maximo_de_frames_interpretados: int | None = None
def __post_init__(self) -> None:
if self.modo_de_analise not in {"som", "imagem", "ambos"}:
raise ValueError("modo_de_analise deve ser som, imagem ou ambos.")
if not 0.04 <= self.intervalo_em_segundos <= 60:
raise ValueError("intervalo_em_segundos deve estar entre 0,04 e 60.")
if self.resolucao_maxima != 0 and not 240 <= self.resolucao_maxima <= 8640:
@@ -83,6 +86,7 @@ class ConfiguracaoVisualDoScanner:
resolucao_maxima=int(dados.get("resolucao_maxima", 1080)),
faixas_de_video=tuple(sorted(set(int(item) for item in dados.get("faixas_de_video", ())))),
faixas_de_audio=tuple(sorted(set(int(item) for item in dados.get("faixas_de_audio", ())))),
modo_de_analise=str(dados.get("modo_de_analise", "ambos")),
recursos_vision=frozenset(dados.get("recursos_vision", RECURSOS_VISION)),
detectar_cenas=bool(dados.get("detectar_cenas", True)),
analisar_continuidade=bool(dados.get("analisar_continuidade", True)),
@@ -103,6 +107,7 @@ class ConfiguracaoVisualDoScanner:
"resolucao_maxima": self.resolucao_maxima,
"faixas_de_video": list(self.faixas_de_video),
"faixas_de_audio": list(self.faixas_de_audio),
"modo_de_analise": self.modo_de_analise,
"recursos_vision": sorted(self.recursos_vision),
"detectar_cenas": self.detectar_cenas,
"analisar_continuidade": self.analisar_continuidade,