aducsdr commited on
Commit
aea2f1a
·
verified ·
1 Parent(s): 46ec8e0

Update aduc_framework/orchestrator.py

Browse files
Files changed (1) hide show
  1. aduc_framework/orchestrator.py +7 -17
aduc_framework/orchestrator.py CHANGED
@@ -2,14 +2,11 @@
2
  #
3
  # Copyright (C) August 4, 2025 Carlos Rodrigues dos Santos
4
  #
5
- # Versão 4.0.0 (Multi-Pool Orchestration)
6
  #
7
  # Esta versão do orquestrador opera com uma arquitetura de múltiplos pools de
8
- # especialistas. A responsabilidade de gerenciar a VRAM e o ciclo de vida dos
9
- # modelos foi delegada aos seus respectivos managers (LtxPoolManager,
10
- # SeedVrPoolManager, MMAudioPoolManager), cada um operando em um conjunto
11
- # dedicado de GPUs. O orquestrador agora foca exclusivamente na lógica de
12
- # alto nível do fluxo de trabalho.
13
 
14
  import logging
15
  from typing import List, Dict, Any, Tuple, Callable, Optional, Generator
@@ -81,7 +78,6 @@ class AducOrchestrator:
81
  self.director.update_pre_production_state(params.prompt, params.ref_paths, storyboard_list)
82
 
83
  if progress_callback: progress_callback(0.2, "Iniciando geração de keyframes...")
84
- # O 'painter' (Deformes3D) internamente usará o LTX Pool Manager para gerar as imagens
85
  keyframes_detailed_data = self.painter.generate_keyframes_from_storyboard(generation_state=self.director.get_full_state_as_dict(), progress_callback=progress_callback)
86
  self.director.update_keyframes_state(keyframes_detailed_data)
87
 
@@ -96,7 +92,6 @@ class AducOrchestrator:
96
  logger.info("Maestro: Iniciando tarefa de Produção do Filme Original.")
97
  self.director.update_parameters("producao", params)
98
 
99
- # O 'editor' (Deformes4D) usa intensivamente o LTX Pool Manager
100
  result_data = self.editor.generate_original_movie(full_generation_state=self.director.get_full_state_as_dict(), progress_callback=progress_callback)
101
  self.director.update_video_state(result_data["video_data"])
102
 
@@ -146,22 +141,18 @@ class AducOrchestrator:
146
  logger.info(f"Upscaling de latentes completo! Vídeo final em: {final_video_path}")
147
  yield {"final_path": final_video_path}
148
 
149
- def task_run_hd_mastering(self, source_video_path: str, model_version: str, steps: int, prompt: str, progress_callback: ProgressCallback = None) -> Generator[Dict[str, Any], None, None]:
150
- """Aplica masterização em HD usando o pool de GPUs do SeedVR."""
151
  if not self.director.workspace_dir: raise RuntimeError("Orchestrator não inicializado.")
152
- logger.info(f"--- ORQUESTRADOR: Tarefa de Masterização HD com SeedVR {model_version} ---")
153
-
154
- # Com pools dedicados, não há mais necessidade de descarregar modelos LTX.
155
- # A chamada é direta e o SeedVrPoolManager gerencia seus próprios recursos.
156
 
157
  run_timestamp = int(time.time())
158
- output_path = os.path.join(self.director.workspace_dir, f"hd_mastered_movie_{model_version}_{run_timestamp}.mp4")
159
 
160
  final_path = seedvr_manager_singleton.process_video(
161
  input_video_path=source_video_path,
162
  output_video_path=output_path,
163
  prompt=prompt,
164
- model_version=model_version,
165
  steps=steps
166
  )
167
  logger.info(f"Masterização HD completa! Vídeo final em: {final_path}")
@@ -191,7 +182,6 @@ class AducOrchestrator:
191
 
192
  if progress_callback: progress_callback(0.5, "Gerando trilha de áudio...")
193
 
194
- # A chamada é direta. O MMAudioPoolManager gerencia suas GPUs dedicadas.
195
  final_path = mmaudio_manager_singleton.generate_audio_for_video(
196
  video_path=source_video_path,
197
  prompt=audio_prompt,
 
2
  #
3
  # Copyright (C) August 4, 2025 Carlos Rodrigues dos Santos
4
  #
5
+ # Version: 4.1.0 (Multi-Pool with Forced SeedVR 3B)
6
  #
7
  # Esta versão do orquestrador opera com uma arquitetura de múltiplos pools de
8
+ # especialistas e simplifica a tarefa de masterização HD, fixando o uso do
9
+ # modelo SeedVR 3B e removendo a necessidade de selecionar a versão do modelo.
 
 
 
10
 
11
  import logging
12
  from typing import List, Dict, Any, Tuple, Callable, Optional, Generator
 
78
  self.director.update_pre_production_state(params.prompt, params.ref_paths, storyboard_list)
79
 
80
  if progress_callback: progress_callback(0.2, "Iniciando geração de keyframes...")
 
81
  keyframes_detailed_data = self.painter.generate_keyframes_from_storyboard(generation_state=self.director.get_full_state_as_dict(), progress_callback=progress_callback)
82
  self.director.update_keyframes_state(keyframes_detailed_data)
83
 
 
92
  logger.info("Maestro: Iniciando tarefa de Produção do Filme Original.")
93
  self.director.update_parameters("producao", params)
94
 
 
95
  result_data = self.editor.generate_original_movie(full_generation_state=self.director.get_full_state_as_dict(), progress_callback=progress_callback)
96
  self.director.update_video_state(result_data["video_data"])
97
 
 
141
  logger.info(f"Upscaling de latentes completo! Vídeo final em: {final_video_path}")
142
  yield {"final_path": final_video_path}
143
 
144
+ def task_run_hd_mastering(self, source_video_path: str, steps: int, prompt: str, progress_callback: ProgressCallback = None) -> Generator[Dict[str, Any], None, None]:
145
+ """Aplica masterização em HD usando o pool de GPUs do SeedVR com o modelo 3B."""
146
  if not self.director.workspace_dir: raise RuntimeError("Orchestrator não inicializado.")
147
+ logger.info(f"--- ORQUESTRADOR: Tarefa de Masterização HD com SeedVR 3B ---")
 
 
 
148
 
149
  run_timestamp = int(time.time())
150
+ output_path = os.path.join(self.director.workspace_dir, f"hd_mastered_movie_3B_{run_timestamp}.mp4")
151
 
152
  final_path = seedvr_manager_singleton.process_video(
153
  input_video_path=source_video_path,
154
  output_video_path=output_path,
155
  prompt=prompt,
 
156
  steps=steps
157
  )
158
  logger.info(f"Masterização HD completa! Vídeo final em: {final_path}")
 
182
 
183
  if progress_callback: progress_callback(0.5, "Gerando trilha de áudio...")
184
 
 
185
  final_path = mmaudio_manager_singleton.generate_audio_for_video(
186
  video_path=source_video_path,
187
  prompt=audio_prompt,