Spaces:
Building
Building
Update app.py
Browse files
app.py
CHANGED
@@ -67,7 +67,7 @@ def concatenate_pexels_videos(text, num_videos=5):
|
|
67 |
final_clip = concatenate_videoclips(video_clips, method="compose")
|
68 |
return final_clip
|
69 |
|
70 |
-
# Combinar audio, video y música con fade out
|
71 |
def combine_audio_video(audio_file, video_clip, music_clip=None):
|
72 |
audio_clip = AudioFileClip(audio_file)
|
73 |
|
@@ -78,17 +78,26 @@ def combine_audio_video(audio_file, video_clip, music_clip=None):
|
|
78 |
if video_clip.duration < total_duration:
|
79 |
video_clip = video_clip.loop(duration=total_duration) # Repetir el video si es necesario
|
80 |
|
81 |
-
# Aplicar fade out al video
|
82 |
video_clip = video_clip.set_duration(total_duration).fadeout(5)
|
83 |
|
84 |
-
# Aplicar fade out al audio (usar audio_fadeout)
|
85 |
-
audio_clip = audio_clip.audio_fadeout(5)
|
86 |
-
|
87 |
# Combinar audio y video
|
88 |
final_clip = video_clip.set_audio(audio_clip)
|
89 |
|
90 |
# Añadir música de fondo si aplica
|
91 |
if music_clip:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
final_clip = final_clip.set_audio(CompositeAudioClip([audio_clip, music_clip]))
|
93 |
|
94 |
# Exportar el video final
|
@@ -129,7 +138,7 @@ def process_input(text, txt_file, mp3_file, selected_voice, rate, pitch):
|
|
129 |
else:
|
130 |
music_clip = None
|
131 |
|
132 |
-
# Combinar audio, video y música con fade out
|
133 |
final_video = combine_audio_video(audio_file, video_clip, music_clip)
|
134 |
return final_video
|
135 |
|
|
|
67 |
final_clip = concatenate_videoclips(video_clips, method="compose")
|
68 |
return final_clip
|
69 |
|
70 |
+
# Combinar audio, video y música con fade out solo en el video y la música
|
71 |
def combine_audio_video(audio_file, video_clip, music_clip=None):
|
72 |
audio_clip = AudioFileClip(audio_file)
|
73 |
|
|
|
78 |
if video_clip.duration < total_duration:
|
79 |
video_clip = video_clip.loop(duration=total_duration) # Repetir el video si es necesario
|
80 |
|
81 |
+
# Aplicar fade out solo al video
|
82 |
video_clip = video_clip.set_duration(total_duration).fadeout(5)
|
83 |
|
|
|
|
|
|
|
84 |
# Combinar audio y video
|
85 |
final_clip = video_clip.set_audio(audio_clip)
|
86 |
|
87 |
# Añadir música de fondo si aplica
|
88 |
if music_clip:
|
89 |
+
# Extender la música para que coincida con la duración total
|
90 |
+
if music_clip.duration < total_duration:
|
91 |
+
repetitions = int(total_duration / music_clip.duration) + 1
|
92 |
+
music_clips = [music_clip] * repetitions
|
93 |
+
music_clip = concatenate_audioclips(music_clips)
|
94 |
+
if music_clip.duration > total_duration:
|
95 |
+
music_clip = music_clip.subclip(0, total_duration)
|
96 |
+
|
97 |
+
# Aplicar fade out a la música
|
98 |
+
music_clip = music_clip.audio_fadeout(5)
|
99 |
+
|
100 |
+
# Combinar audio principal, música y video
|
101 |
final_clip = final_clip.set_audio(CompositeAudioClip([audio_clip, music_clip]))
|
102 |
|
103 |
# Exportar el video final
|
|
|
138 |
else:
|
139 |
music_clip = None
|
140 |
|
141 |
+
# Combinar audio, video y música con fade out solo en el video y la música
|
142 |
final_video = combine_audio_video(audio_file, video_clip, music_clip)
|
143 |
return final_video
|
144 |
|