refactor: refactor the final_video.py functioanlity

pull/283/head
orenkaizer 3 years ago
parent 6e54edeb57
commit 849a84e1a4

@ -1,7 +1,5 @@
from random import randrange from random import randrange
from yt_dlp import YoutubeDL from yt_dlp import YoutubeDL
from pathlib import Path from pathlib import Path
from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip
from moviepy.editor import VideoFileClip from moviepy.editor import VideoFileClip

@ -18,6 +18,7 @@ def make_final_video(number_of_clips):
VideoFileClip.reW = lambda clip: clip.resize(width=W) VideoFileClip.reW = lambda clip: clip.resize(width=W)
VideoFileClip.reH = lambda clip: clip.resize(width=H) VideoFileClip.reH = lambda clip: clip.resize(width=H)
# Define the background of the clip
background_clip = ( background_clip = (
VideoFileClip("assets/mp4/clip.mp4") VideoFileClip("assets/mp4/clip.mp4")
.without_audio() .without_audio()
@ -25,22 +26,17 @@ def make_final_video(number_of_clips):
.crop(x1=1166.6, y1=0, x2=2246.6, y2=1920) .crop(x1=1166.6, y1=0, x2=2246.6, y2=1920)
) )
# Gather all audio clips # Gather all audio clips
audio_clips = [] audio_clips = [AudioFileClip(f"assets/mp3/{i}.mp3") for i in range(0, number_of_clips)]
for i in range(0, number_of_clips):
audio_clips.append(AudioFileClip(f"assets/mp3/{i}.mp3"))
audio_clips.insert(0, AudioFileClip(f"assets/mp3/title.mp3")) audio_clips.insert(0, AudioFileClip(f"assets/mp3/title.mp3"))
audio_concat = concatenate_audioclips(audio_clips) audio_concat = concatenate_audioclips(audio_clips)
audio_composite = CompositeAudioClip([audio_concat]) audio_composite = CompositeAudioClip([audio_concat])
# Gather all images # Gather all images, duration of each is equal to duration of the audio
image_clips = [] image_clips = [ImageClip(f"assets/png/comment_{i}.png")
for i in range(0, number_of_clips):
image_clips.append(
ImageClip(f"assets/png/comment_{i}.png")
.set_duration(audio_clips[i + 1].duration) .set_duration(audio_clips[i + 1].duration)
.set_position("center") .set_position("center")
.resize(width=W - 100), .resize(width=W - 100) for i in range(0, number_of_clips)]
)
image_clips.insert( image_clips.insert(
0, 0,
ImageClip(f"assets/png/title.png") ImageClip(f"assets/png/title.png")

Loading…
Cancel
Save