Spaces:
Runtime error
Runtime error
Commit
·
0ccc722
1
Parent(s):
66e09ed
Update components/utils.py
Browse files- components/utils.py +24 -7
components/utils.py
CHANGED
@@ -1,17 +1,18 @@
|
|
1 |
from moviepy.editor import VideoFileClip, concatenate_videoclips,vfx
|
2 |
-
from moviepy.editor import AudioFileClip, CompositeAudioClip
|
|
|
3 |
import os
|
4 |
|
5 |
-
def combine_videos(folder_name):
|
6 |
|
7 |
length = len(os.listdir(folder_name))
|
8 |
|
9 |
vids = [VideoFileClip(os.path.join(folder_name,x)) for x in sorted(os.listdir(folder_name))]
|
10 |
|
11 |
-
print(vids, length)
|
12 |
|
13 |
combined = concatenate_videoclips(
|
14 |
-
[vid.subclip(0,
|
15 |
# [VideoFileClip(os.path.join(folder_name,x)).subclip(0,7).fx(vfx.fadein,0.5).fx(vfx.fadeout,0.5) for x in sorted(os.listdir(folder_name))],
|
16 |
"compose",bg_color=None, padding=0
|
17 |
)
|
@@ -25,10 +26,26 @@ def combine_videos(folder_name):
|
|
25 |
# combined.write_videofile(os.path.join(folder_name, "Ad_Video.mp4"))
|
26 |
print("Done! Your ads video has been created")
|
27 |
|
28 |
-
|
|
|
29 |
videoclip = VideoFileClip(vid)
|
30 |
audioclip = AudioFileClip(speech)
|
31 |
|
32 |
-
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
videoclip.write_videofile(os.path.join(folder_name,"new_filename.mp4"))
|
|
|
1 |
from moviepy.editor import VideoFileClip, concatenate_videoclips,vfx
|
2 |
+
from moviepy.editor import AudioFileClip, CompositeAudioClip, TextClip,
|
3 |
+
from moviepy.video.tools.subtitles import SubtitlesClip
|
4 |
import os
|
5 |
|
6 |
+
def combine_videos(folder_name, length_speech):
|
7 |
|
8 |
length = len(os.listdir(folder_name))
|
9 |
|
10 |
vids = [VideoFileClip(os.path.join(folder_name,x)) for x in sorted(os.listdir(folder_name))]
|
11 |
|
12 |
+
print(vids, length, len(length_speech))
|
13 |
|
14 |
combined = concatenate_videoclips(
|
15 |
+
[vid.subclip(0,ls).fx(vfx.fadein,0.5).fx(vfx.fadeout,0.5) if vid.duration > ls else vid.fx(vfx.fadein,0.5).fx(vfx.fadeout,0.5) for vid, ls in zip(vids, length_speech)],
|
16 |
# [VideoFileClip(os.path.join(folder_name,x)).subclip(0,7).fx(vfx.fadein,0.5).fx(vfx.fadeout,0.5) for x in sorted(os.listdir(folder_name))],
|
17 |
"compose",bg_color=None, padding=0
|
18 |
)
|
|
|
26 |
# combined.write_videofile(os.path.join(folder_name, "Ad_Video.mp4"))
|
27 |
print("Done! Your ads video has been created")
|
28 |
|
29 |
+
|
30 |
+
def combine_audio_video(folder_name, vid, speech, sentences, length_speech):
|
31 |
videoclip = VideoFileClip(vid)
|
32 |
audioclip = AudioFileClip(speech)
|
33 |
|
34 |
+
generator = lambda txt: TextClip(txt, font='Arial', fontsize=24, color='white')
|
35 |
+
# subs = [((0, 4), 'subs1'),
|
36 |
+
# ((4, 9), 'subs2'),
|
37 |
+
# ((9, 12), 'subs3'),
|
38 |
+
# ((12, 16), 'subs4')]
|
39 |
+
|
40 |
+
ls = [0] + length_speech
|
41 |
+
subs = [ ( (ls[i],ls[i+1]), sub) for i,sub in enumerate(sentences)]
|
42 |
+
|
43 |
+
subtitles = SubtitlesClip(subs, generator)
|
44 |
+
|
45 |
+
|
46 |
+
videoclip = CompositeVideoClip([videoclip, subtitles.set_pos(('center','bottom'))])
|
47 |
+
|
48 |
+
# new_audioclip = CompositeAudioClip([audioclip])
|
49 |
+
# videoclip.audio = new_audioclip
|
50 |
+
videoclip_audio = CompositeAudioClip([audioclip])
|
51 |
videoclip.write_videofile(os.path.join(folder_name,"new_filename.mp4"))
|