From a910869d500a9b4b6e6b96761db580e4a8d2d4be Mon Sep 17 00:00:00 2001 From: ambushneupane Date: Mon, 10 Oct 2022 11:55:19 +0530 Subject: [PATCH] Added Video Merger --- scripts/Video_Merger/listvideos.py | 17 +++++++++++++++++ scripts/Video_Merger/main.py | 7 +++++++ scripts/Video_Merger/renderVideo.py | 20 ++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 scripts/Video_Merger/listvideos.py create mode 100644 scripts/Video_Merger/main.py create mode 100644 scripts/Video_Merger/renderVideo.py diff --git a/scripts/Video_Merger/listvideos.py b/scripts/Video_Merger/listvideos.py new file mode 100644 index 0000000..3c71f87 --- /dev/null +++ b/scripts/Video_Merger/listvideos.py @@ -0,0 +1,17 @@ + +#this script returns the list of videos (.mp4) from the path you choose. +import os +pathOfVideo=input("Enter the full path where videos are located.") + +def array_Of_Videos(): + fileExists= os.path.exists(pathOfVideo) #returns a boolen + + if fileExists: + dirList= sorted(os.listdir(pathOfVideo)) #returns list of files inside the path + return [files for files in dirList if files.endswith(".mp4") ] + + else: + print(f"No such path as {pathOfVideo}") + +videoslist= array_Of_Videos() +print(f'If the sequence of the videos doesn\'t look like Following. You can press Control + C to kill the program.\n{videoslist}') diff --git a/scripts/Video_Merger/main.py b/scripts/Video_Merger/main.py new file mode 100644 index 0000000..7a4a15a --- /dev/null +++ b/scripts/Video_Merger/main.py @@ -0,0 +1,7 @@ +from renderVideo import renderFinalVideo + +def main(): + renderFinalVideo() + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/scripts/Video_Merger/renderVideo.py b/scripts/Video_Merger/renderVideo.py new file mode 100644 index 0000000..2c7be79 --- /dev/null +++ b/scripts/Video_Merger/renderVideo.py @@ -0,0 +1,20 @@ +from moviepy.editor import VideoFileClip,concatenate_videoclips +from listvideos import videoslist,pathOfVideo +import os + + +def renderFinalVideo(): + videoNames=[VideoFileClip(os.path.join(pathOfVideo, video)) for video in videoslist] + final_video = concatenate_videoclips(videoNames,method='compose') + filePath= input("Enter location to save file:-") + filePathExists= os.path.exists(filePath) + if filePathExists: + fileName= input("Enter file name;-") + + if fileName.endswith(".mp4"): + final_video.write_videofile(os.path.join(filePath,fileName)) + else: + print("Sorry the extension must be .mp4") + + else: + print(f"Sorry Error Occured!!!Make sure this path exists:- {filePath}") \ No newline at end of file