-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
39 lines (29 loc) · 1.19 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import moviepy.editor as mp
def addAudioFiles(videoPath, *audioList):
audioList = audioList[0]
videoFile = mp.VideoFileClip(videoPath)
videoClips = []
for i in range(len(audioList)):
if i < 1:
end = audioList[i]['start_in']
clip = videoFile.subclip(0, end)
videoClips.append(clip)
else:
start_in = audioList[i - 1]['start_in']
end_in = audioList[i]['start_in']
audio = mp.AudioFileClip(audioList[i - 1]['audio_path'])
clip = videoFile.subclip(start_in, end_in).set_audio(audio)
videoClips.append(clip)
start_in = audioList[i - 1]['start_in']
end_in = audioList[i]['start_in']
audio = mp.AudioFileClip(audioList[i - 1]['audio_path'])
clip = videoFile.subclip(start_in, videoFile.duration).set_audio(audio)
videoClips.append(clip)
finalVideo = mp.concatenate_videoclips(videoClips)
finalVideo.write_videofile('out.mp4')
addAudioFiles('test.mp4', (
{'audio_path': '1.mp3', 'start_in': 20},
{'audio_path': '2.mp3', 'start_in': 30},
{'audio_path': '2.mp3', 'start_in': 40},
{'audio_path': '2.mp3', 'start_in': 50})
)