Carlos s
commited on
Update api/ltx_server.py
Browse files- api/ltx_server.py +8 -8
api/ltx_server.py
CHANGED
|
@@ -437,13 +437,13 @@ class VideoService:
|
|
| 437 |
|
| 438 |
|
| 439 |
|
| 440 |
-
def _concat_crossfade_cascade(self, videos, output_path,
|
| 441 |
"""
|
| 442 |
Concatena vídeos em cascata com crossfade.
|
| 443 |
|
| 444 |
:param videos: lista de caminhos de vídeos
|
| 445 |
:param output_path: caminho final do vídeo concatenado
|
| 446 |
-
:param
|
| 447 |
"""
|
| 448 |
if len(videos) < 2:
|
| 449 |
raise ValueError("Precisa de pelo menos 2 vídeos para concatenar")
|
|
@@ -456,12 +456,12 @@ class VideoService:
|
|
| 456 |
|
| 457 |
cmd = f"""
|
| 458 |
ffmpeg -y -i "{temp_video}" -i "{next_video}" -filter_complex "
|
| 459 |
-
[0:v]trim=0:-{
|
| 460 |
-
[0:v]trim=-{
|
| 461 |
-
[1:v]trim=0:{
|
| 462 |
-
[v0fade][v1fade]blend=all_expr='A*(1-T/{
|
| 463 |
-
[0:v]trim=0:-{
|
| 464 |
-
[1:v]trim={
|
| 465 |
[v0start][xf][v1end]concat=n=3:v=1:a=0[v]" -map "[v]" -c:v libx264 -pix_fmt yuv420p "{tmp_output}"
|
| 466 |
"""
|
| 467 |
|
|
|
|
| 437 |
|
| 438 |
|
| 439 |
|
| 440 |
+
def _concat_crossfade_cascade(self, videos, output_path, crossfade_frames=8):
|
| 441 |
"""
|
| 442 |
Concatena vídeos em cascata com crossfade.
|
| 443 |
|
| 444 |
:param videos: lista de caminhos de vídeos
|
| 445 |
:param output_path: caminho final do vídeo concatenado
|
| 446 |
+
:param crossfade_frames: duração do crossfade em frames
|
| 447 |
"""
|
| 448 |
if len(videos) < 2:
|
| 449 |
raise ValueError("Precisa de pelo menos 2 vídeos para concatenar")
|
|
|
|
| 456 |
|
| 457 |
cmd = f"""
|
| 458 |
ffmpeg -y -i "{temp_video}" -i "{next_video}" -filter_complex "
|
| 459 |
+
[0:v]trim=0:-{crossfade_frames},setpts=PTS-STARTPTS[v0pre];
|
| 460 |
+
[0:v]trim=-{crossfade_frames},setpts=PTS-STARTPTS[v0fade];
|
| 461 |
+
[1:v]trim=0:{crossfade_frames},setpts=PTS-STARTPTS[v1fade];
|
| 462 |
+
[v0fade][v1fade]blend=all_expr='A*(1-T/{crossfade_frames})+B*(T/{crossfade_frames})'[xf];
|
| 463 |
+
[0:v]trim=0:-{crossfade_frames},setpts=PTS-STARTPTS[v0start];
|
| 464 |
+
[1:v]trim={crossfade_frames}:,setpts=PTS-STARTPTS[v1end];
|
| 465 |
[v0start][xf][v1end]concat=n=3:v=1:a=0[v]" -map "[v]" -c:v libx264 -pix_fmt yuv420p "{tmp_output}"
|
| 466 |
"""
|
| 467 |
|