diff --git a/scripts/Video_Merger/README.md b/scripts/Video_Merger/README.md new file mode 100644 index 0000000..473ef96 --- /dev/null +++ b/scripts/Video_Merger/README.md @@ -0,0 +1,25 @@ +### Video Merger +Simple script that combines many videos into a single Video. +## How to use +1) Clone the Repo +2) Install Packages mentioned inside requirements.txt +3) python main.py + +## NOTE +As of now you can only merge videos that have extension (.mp4) + +# Author +Ambush Neupane +### Video Merger +Simple script that combines many videos into a single Video. +## How to use +1) Clone the Repo +2) Install Packages mentioned inside requirements.txt + * ```pip install moviepy``` +3) python main.py + +## NOTE +As of now you can only merge videos that have extension (.mp4) + +# Author +Ambush Neupane 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 diff --git a/scripts/Video_Merger/requirements.txt b/scripts/Video_Merger/requirements.txt new file mode 100644 index 0000000..c55fd10 --- /dev/null +++ b/scripts/Video_Merger/requirements.txt @@ -0,0 +1,2 @@ +moviepy +os