Нашел готовый скрипт,решил его запустит,и вылетает ошибки.Подскажите пож-та как это исправить)
Traceback (most recent call last):
File "C:\Users\home\PycharmProjects\pythonProject4\main.py", line 43, in <module>
img = random.choice(images).set_duration(3).resize(1.1)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\home\AppData\Local\Programs\Python\Python311\Lib\random.py", line 370, in choice
raise IndexError('Cannot choose from an empty sequence')
IndexError: Cannot choose from an empty sequence
Сам код
import moviepy
from moviepy.editor import *
import random
from pathlib import Path
import string
def create_file_list(folder):
return [str(f) for f in Path(folder).iterdir()]
def create_image_list(folder):
image_list=[]
folder = Path(folder)
if folder.is_file():
image = ImageClip(str(folder),duration=1)
image_list.append(image)
if folder.is_dir():
for file in sorted(folder.iterdir(), reverse=True):
image = ImageClip(str(file),duration=1)
image_list.append(image)
return image_list
def filename(folder):
file_name = ''.join(random.choice(string.ascii_lowercase) for i in range(5))
file_name = str(Path(folder).joinpath(file_name + '.mp4'))
return file_name
#Папка для сохранения видео
result_folder = r'C:\Users\home\Desktop\VIDEO'
#Папка с картиками
images = create_image_list(r'C:\Users\home\Desktop\PNG')
#Папка с видео которые будут обработаны
video_ls = create_file_list(r'C:\Users\home\Desktop\SAVE')
#Фильтрыpip
unq_filter_params =["colorbalance=rs=.3","colorbalance=gs=-0.20","colorbalance=gs=0.20","colorbalance=bs=-0.30","colorbalance=bs=0.30","colorbalance=rm=0.30","colorbalance=rm=-0.30","colorbalance=gm=-0.25","colorbalance=bm=-0.25","colorbalance=rh=-0.15","colorbalance=gh=-0.20","colorbalance=bh=-0.20"]
for video in video_ls:
clip = VideoFileClip(video).subclip(0,5)
#Эффект появления
clip = vfx.fadein(clip, duration=4)
#Отражаем видос
clip_mirror = vfx.mirror_x(clip)
#Настройки картинки: set_duration - длительность, resize - изменение размера
img = random.choice(images).set_duration(3).resize(1.1)
#Общий клип. set_position - положение картинки. set_start - тайминг появления
new_video = CompositeVideoClip([clip_mirror, img.set_position(("center",0.68),relative=True).set_start(clip.duration - 3)])
#Сохраняем видос
new_video.write_videofile(filename(result_folder), ffmpeg_params=['-filter_complex', random.choice(unq_filter_params)])