gnosticdev commited on
Commit
a75af72
·
verified ·
1 Parent(s): 21b8d99

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -6
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