Update api/ltx_server.py
Browse files- api/ltx_server.py +13 -9
api/ltx_server.py
CHANGED
|
@@ -448,8 +448,9 @@ class VideoService:
|
|
| 448 |
]
|
| 449 |
result = subprocess.run(cmd, capture_output=True, text=True, check=True)
|
| 450 |
return int(result.stdout.strip())
|
| 451 |
-
|
| 452 |
-
|
|
|
|
| 453 |
def _gerar_lista_com_transicoes(self, pasta: str, video_paths: list[str], crossfade_frames: int = 8) -> list[str]:
|
| 454 |
"""
|
| 455 |
Gera uma nova lista de vídeos aplicando transições suaves (blend frame a frame)
|
|
@@ -471,19 +472,22 @@ class VideoService:
|
|
| 471 |
|
| 472 |
# --- PODA ---
|
| 473 |
video_podado = os.path.join(pasta, f"{base}_podado_{i}.mp4")
|
| 474 |
-
total_frames = self._get_total_frames(video_clone)
|
| 475 |
-
trim_ini = total_frames - poda # posição inicial do fade
|
| 476 |
-
video_fade_fim = os.path.join(pasta, f"{base}_fade_fim_{i}.mp4")
|
| 477 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 478 |
cmd_fim = (
|
| 479 |
-
|
| 480 |
-
|
| 481 |
-
|
| 482 |
)
|
| 483 |
subprocess.run(cmd_fim, shell=True, check=True)
|
| 484 |
video_anterior_fade_fim = video_fade_fim
|
| 485 |
print(f"[DEBUG] Fade_fim preparado -> {video_fade_fim}")
|
| 486 |
-
|
|
|
|
| 487 |
|
| 488 |
# --- FADE_INI ---
|
| 489 |
video_fade_ini = None
|
|
|
|
| 448 |
]
|
| 449 |
result = subprocess.run(cmd, capture_output=True, text=True, check=True)
|
| 450 |
return int(result.stdout.strip())
|
| 451 |
+
|
| 452 |
+
|
| 453 |
+
|
| 454 |
def _gerar_lista_com_transicoes(self, pasta: str, video_paths: list[str], crossfade_frames: int = 8) -> list[str]:
|
| 455 |
"""
|
| 456 |
Gera uma nova lista de vídeos aplicando transições suaves (blend frame a frame)
|
|
|
|
| 472 |
|
| 473 |
# --- PODA ---
|
| 474 |
video_podado = os.path.join(pasta, f"{base}_podado_{i}.mp4")
|
|
|
|
|
|
|
|
|
|
| 475 |
|
| 476 |
+
total_frames = get_total_frames(video_clone)
|
| 477 |
+
start_frame = total_frames - poda
|
| 478 |
+
|
| 479 |
+
video_fade_fim = os.path.join(pasta, f"{base}_fade_fim_{i}.mp4")
|
| 480 |
+
|
| 481 |
cmd_fim = (
|
| 482 |
+
f'ffmpeg -y -hide_banner -loglevel error -i "{video_clone}" '
|
| 483 |
+
f'-vf "trim=start_frame={start_frame}:end_frame={total_frames},setpts=PTS-STARTPTS" '
|
| 484 |
+
f'-an "{video_fade_fim}"'
|
| 485 |
)
|
| 486 |
subprocess.run(cmd_fim, shell=True, check=True)
|
| 487 |
video_anterior_fade_fim = video_fade_fim
|
| 488 |
print(f"[DEBUG] Fade_fim preparado -> {video_fade_fim}")
|
| 489 |
+
|
| 490 |
+
|
| 491 |
|
| 492 |
# --- FADE_INI ---
|
| 493 |
video_fade_ini = None
|