Update api/ltx_server.py
Browse files- api/ltx_server.py +5 -4
api/ltx_server.py
CHANGED
|
@@ -437,12 +437,13 @@ class VideoService:
|
|
| 437 |
|
| 438 |
|
| 439 |
|
| 440 |
-
def _gerar_lista_com_transicoes(self, video_paths: List[str], crossfade_frames: int = 8) -> List[str]:
|
| 441 |
"""
|
| 442 |
Gera uma nova lista de vídeos com cortes e transições de crossfade.
|
| 443 |
Cada transição é de 'crossfade_frames' frames.
|
| 444 |
|
| 445 |
Args:
|
|
|
|
| 446 |
video_paths: lista de caminhos de vídeos originais
|
| 447 |
crossfade_frames: quantidade de frames para transição
|
| 448 |
Returns:
|
|
@@ -450,7 +451,7 @@ class VideoService:
|
|
| 450 |
"""
|
| 451 |
nova_lista = []
|
| 452 |
|
| 453 |
-
pasta
|
| 454 |
|
| 455 |
|
| 456 |
for i in range(len(video_paths)):
|
|
@@ -487,7 +488,7 @@ class VideoService:
|
|
| 487 |
[0:v][1:v]blend=all_expr='A*(1-T/{crossfade_frames})+B*(T/{crossfade_frames})'[v]
|
| 488 |
" -map "[v]" -c:v libx264 -pix_fmt yuv420p "{transicao}"
|
| 489 |
"""
|
| 490 |
-
subprocess.run(cmd_blend, shell=
|
| 491 |
nova_lista.append(transicao)
|
| 492 |
|
| 493 |
return nova_lista
|
|
@@ -746,7 +747,7 @@ class VideoService:
|
|
| 746 |
print(f"[DEBUG] Falha no move; usando tmp como final: {e}")
|
| 747 |
|
| 748 |
final_concat = os.path.join(results_dir, f"concat_fim_{used_seed}.mp4")
|
| 749 |
-
final_concat_new = self._gerar_lista_com_transicoes(video_paths=final_concat, crossfade_frames=8)
|
| 750 |
self._concat_mp4s_no_reencode(partes_mp4, final_concat_new)
|
| 751 |
|
| 752 |
|
|
|
|
| 437 |
|
| 438 |
|
| 439 |
|
| 440 |
+
def _gerar_lista_com_transicoes(self, pasta: str, video_paths: List[str], crossfade_frames: int = 8) -> List[str]:
|
| 441 |
"""
|
| 442 |
Gera uma nova lista de vídeos com cortes e transições de crossfade.
|
| 443 |
Cada transição é de 'crossfade_frames' frames.
|
| 444 |
|
| 445 |
Args:
|
| 446 |
+
pasta: pasta de trabalho
|
| 447 |
video_paths: lista de caminhos de vídeos originais
|
| 448 |
crossfade_frames: quantidade de frames para transição
|
| 449 |
Returns:
|
|
|
|
| 451 |
"""
|
| 452 |
nova_lista = []
|
| 453 |
|
| 454 |
+
pasta
|
| 455 |
|
| 456 |
|
| 457 |
for i in range(len(video_paths)):
|
|
|
|
| 488 |
[0:v][1:v]blend=all_expr='A*(1-T/{crossfade_frames})+B*(T/{crossfade_frames})'[v]
|
| 489 |
" -map "[v]" -c:v libx264 -pix_fmt yuv420p "{transicao}"
|
| 490 |
"""
|
| 491 |
+
subprocess.run(cmd_blend, shell=False, check=True)
|
| 492 |
nova_lista.append(transicao)
|
| 493 |
|
| 494 |
return nova_lista
|
|
|
|
| 747 |
print(f"[DEBUG] Falha no move; usando tmp como final: {e}")
|
| 748 |
|
| 749 |
final_concat = os.path.join(results_dir, f"concat_fim_{used_seed}.mp4")
|
| 750 |
+
final_concat_new = self._gerar_lista_com_transicoes(pasta=results_dir, video_paths=final_concat, crossfade_frames=8)
|
| 751 |
self._concat_mp4s_no_reencode(partes_mp4, final_concat_new)
|
| 752 |
|
| 753 |
|