From abbb496012e52e2396ed1d5b45d2b3a685535215 Mon Sep 17 00:00:00 2001 From: null3000 <76852813+null3000@users.noreply.github.com> Date: Wed, 8 Jun 2022 17:16:35 +0200 Subject: [PATCH] round video length turns 'total_length' into an int, instead of float. --- video_creation/final_video.py | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/video_creation/final_video.py b/video_creation/final_video.py index 9b96f3c..b3a0df6 100644 --- a/video_creation/final_video.py +++ b/video_creation/final_video.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 from moviepy.editor import ( VideoFileClip, AudioFileClip, @@ -8,7 +7,7 @@ from moviepy.editor import ( CompositeAudioClip, CompositeVideoClip, ) -import reddit.subreddit +import reddit.subreddit import re from utils.console import print_step from dotenv import load_dotenv @@ -20,12 +19,13 @@ console = Console() W, H = 1080, 1920 -def make_final_video(number_of_clips): +def make_final_video(number_of_clips): + # Calls opacity from the .env load_dotenv() - opacity = os.getenv("OPACITY") - + opacity = os.getenv('OPACITY') + print_step("Creating the final video...") VideoFileClip.reW = lambda clip: clip.resize(width=W) @@ -42,9 +42,9 @@ def make_final_video(number_of_clips): audio_clips = [] for i in range(0, number_of_clips): audio_clips.append(AudioFileClip(f"assets/mp3/{i}.mp3")) - audio_clips.insert(0, AudioFileClip("assets/mp3/title.mp3")) + audio_clips.insert(0, AudioFileClip(f"assets/mp3/title.mp3")) try: - audio_clips.insert(1, AudioFileClip("assets/mp3/posttext.mp3")) + audio_clips.insert(1, AudioFileClip(f"assets/mp3/posttext.mp3")) except: OSError() audio_concat = concatenate_audioclips(audio_clips) @@ -52,8 +52,10 @@ def make_final_video(number_of_clips): #Get sum of all clip lengths total_length = sum([clip.duration for clip in audio_clips]) + #round total_length to an integer + int_total_length=round(total_length) #Output Length - console.log("[bold green] Video Will Be: " + str(total_length) + " Seconds Long") + console.log(f"[bold green] Video Will Be: {int_total_length} Seconds Long") # Gather all images image_clips = [] @@ -65,32 +67,30 @@ def make_final_video(number_of_clips): .resize(width=W - 100) .set_opacity(float(opacity)), ) - if os.path.exists("assets/mp3/posttext.mp3"): + if os.path.exists(f"assets/mp3/posttext.mp3"): image_clips.insert( 0, - ImageClip("assets/png/title.png") + ImageClip(f"assets/png/title.png") .set_duration(audio_clips[0].duration + audio_clips[1].duration) .set_position("center") .resize(width=W - 100) .set_opacity(float(opacity)), - ) + ) else: image_clips.insert( 0, - ImageClip("assets/png/title.png") + ImageClip(f"assets/png/title.png") .set_duration(audio_clips[0].duration) .set_position("center") .resize(width=W - 100) .set_opacity(float(opacity)), - ) + ) image_concat = concatenate_videoclips(image_clips).set_position( ("center", "center") ) image_concat.audio = audio_composite final = CompositeVideoClip([background_clip, image_concat]) - filename = re.sub( - '[?"%*:|<>]', "", ("assets/" + reddit.subreddit.submission.title + ".mp4") - ) + filename = (re.sub('[?\"%*:|<>]', '', ("assets/" + reddit.subreddit.submission.title + ".mp4"))) final.write_videofile(filename, fps=30, audio_codec="aac", audio_bitrate="192k") for i in range(0, number_of_clips): pass