не полyчается загнать все картинки для создания видео со сменой кадров в Python
from tkinter import *
import os
from tkinter import filedialog
import cv2
import time
from moviepy.editor import *
#pip3 install opencv-python
#import imageio
root = Tk()
root.title("Video Maker")
root.geometry("300x150")
mp3_file = ""
image_folder = ""
video_duration = 300 #time screen pict
def choose_mp3():
global mp3_file
mp3_file = filedialog.askopenfilename(filetypes = (("MP3 files", "*.mp3"),("All files", "*.*")))
print("choosen mp3 file:", mp3_file)
def choose_folder():
global image_folder
image_folder = filedialog.askdirectory()
print("choosen image folder:", image_folder)
def create_video():
if not mp3_file or not image_folder:
print("Пожалуйста, выберите mp3 и папку с изображениями!")
return
video_name = "video.mp4"
image_files = [f for f in os.listdir(image_folder) if f.endswith('.png') or f.endswith('.jpg')]
frames = []
img_paths = []
for image_file in image_files:
frame = cv2.imread(os.path.join(image_folder, image_file))
img_path = os.path.join(image_folder, image_file)
frames.append(frame)
img_paths.append(img_path)
height, width, _ = frames[0].shape
size = (width, height)
fps = 1000 // video_duration
video_writer = cv2.VideoWriter(video_name, cv2.VideoWriter_fourcc(*'mp4v'), fps, size)
for i in range(len(frames)):
frame = frames[i]
img_path = img_paths[i]
video_writer.write(frame)
time.sleep(video_duration / 1000)
video_writer.release()
audio = AudioFileClip(mp3_file)
video = VideoFileClip(video_name)
final_video = video.set_audio(audio)
final_video.write_videofile("final_video.mp4", codec="libx264")
print("Создание видео завершено!")
mp3_button = Button(root, text="MP3", command=choose_mp3)
mp3_button.pack()
folder_button = Button(root, text="Pictures", command=choose_folder)
folder_button.pack()
video_button = Button(root, text="make video", command=create_video)
video_button.pack()
root.mainloop()
не полyчается загнать все картинки из папки в видео слайд-шоy так то раБо4ий скрипт только он Берёт однy картинкy а не всю директорию хотелось Бы наделать видосиков для сеБя с Быстрой сменой кадров в миллисекyнд 300
Источник: Stack Overflow на русском