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 |
|