Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import cv2
- import moviepy.editor as mpe
- import argparse
- import glob
- import os
- # Создание парсера
- parser = argparse.ArgumentParser(description='Преобразование кадров в видео')
- parser.add_argument('--in', dest='input_video', required=True, help='Путь к оригинальному видео')
- parser.add_argument('--ff', dest='frames_folder', required=True, help='Путь к папке с кадрами')
- parser.add_argument('--out', dest='output_video', required=True, help='Путь к выходному видео')
- args = parser.parse_args()
- # Получить fps из оригинального видео
- clip = mpe.VideoFileClip(args.input_video)
- fps = clip.fps
- # Создать видеоряд из кадров
- frame_array = []
- files = glob.glob(args.frames_folder + '/*.jpg') # путь к папке с кадрами
- files.sort() # убедитесь, что кадры в правильном порядке
- for i in range(len(files)):
- filename = files[i]
- img = cv2.imread(filename)
- height, width, layers = img.shape
- size = (width, height)
- frame_array.append(img)
- out = cv2.VideoWriter('temp.mp4', cv2.VideoWriter_fourcc(*'mp4v'), fps, size)
- for i in range(len(frame_array)):
- out.write(frame_array[i])
- out.release()
- # Добавить звуковую дорожку из оригинального видео
- my_clip = mpe.VideoFileClip('temp.mp4')
- audio_background = mpe.AudioFileClip(args.input_video)
- final_audio = mpe.CompositeAudioClip([audio_background])
- final_clip = my_clip.set_audio(final_audio)
- final_clip.write_videofile(args.output_video)
- # Удалить временный файл
- os.remove('temp.mp4')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement