ошибка по moviepy даже с установкой всех пакетов

dmitriy_74

Новичок
Пользователь
Май 15, 2022
12
2
3
1652772383065.png
from tkinter import filedialog
from PIL import Image, ImageTk
import pygame
from moviepy.editor import VideoFileClip
import cv2
import moviepy


class AnimateGifLabel(Label):
def __init__(self, *argv, image = None, **kwargs):
self.master = argv[0]
self.filename = image
self.check_cadrs()
self.i = 0
self.img = Image.open(image)
self.img.seek(0)
self.image = ImageTk.PhotoImage(self.img)
super().__init__(*argv, image = self.image, **kwargs)
if 'delay' in kwargs:
self.delay = kwargs['delay']
else:
try:
self.delay = self.img.info['duration']
except:
self.delay = 100
#self.delay = 3 # Это минимально возможная задержка - иначе ткинтер не успевает обновится и не обновляет 2 (Но реагирует на события типа изменнения размера ) а при 1 даже не появляется
self.after(self.delay, self.show_new_cadr)


def check_cadrs(self):
self.cadrs = Image.open(self.filename).n_frames
def show_new_cadr(self):
if self.i == self.cadrs:
self.i=0
self.img.seek(self.i)
self.image = ImageTk.PhotoImage(self.img)
self.config(image = self.image)
self.i+=1
self.master.after(self.delay, self.show_new_cadr)


class VideoLabel(Label):
def __init__(self, *argv, video = None, **kwargs):
self.master = argv[0]
self.filename = video
self.video = cv2.VideoCapture(self.filename)
cap = VideoFileClip(self.filename)
audio = cap.audio
audio.write_audiofile('$-python-tk-video-frame-audio.wav')
pygame.init()
self.sound = pygame.mixer.Sound('$-python-tk-video-frame-audio.wav')
#clip = VideoFileClip(self.filename)
#clip.write_gif("$~python-tk-video-label.gif")
#self.filename = "$~python-tk-video-label.gif"
flag, frame = self.video.read()
self.image = self.tk_image(frame)
super().__init__(*argv, image = self.image, text = '0 sec', compound = 'top', **kwargs)
self.sound.play()
self.after(35, self.show_new_cadr)
self.i=1
def tk_image(self, cvframe):
cv2.imwrite("$-python-tk-video-frame.jpg", cvframe)
img = Image.open("$-python-tk-video-frame.jpg")
return ImageTk.PhotoImage(img)
def show_new_cadr(self):
self.i+=1
flag, frame = self.video.read()
if flag == False:
self.i = 0
self.video.set(0, 0)
self.image = self.tk_image(frame)
self.config(image = self.image, text = str(self.i//24) + ' sec')
self.master.after(35, self.show_new_cadr)



root = Tk()
root.title('31.gif')
root['bg'] = 'white'
AnimateGifLabel(root, image = filedialog.askopenfilename(filetypes = (('GIF Animation Image', '*.gif'),('All files', '*.*')))).pack()
clipka = VideoLabel(root, video = filedialog.askopenfilename(filetypes=(('MP4 Video', '*.mp4'),('All files', '*.*'))))
clipka.pack( expand =1 , fill = 'both')
root.mainloop()
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
1) проверь что установил сам moviepy
2) Если работаешь в PyCharm, проверь что в том виртуальном окружении где запускаешь тоже установлены нужные пакеты
 

dmitriy_74

Новичок
Пользователь
Май 15, 2022
12
2
3
проверь что установил сам moviepy
при прописи в командной строке "import pygame " как проверка ,выдаёт что
"import" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом. а так действовал по алгоритму установки. А так все пакеты установил
 

dmitriy_74

Новичок
Пользователь
Май 15, 2022
12
2
3
Если работаешь в PyCharm, проверь что в том виртуальном окружении где запускаешь тоже установлены нужные пакеты
работаю в стандартном питоне версии 3.8
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
ты
при прописи в командной строке "import pygame " как проверка ,выдаёт что
"import" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом. а так действовал по алгоритму установки. А так все пакеты установил
это проверяется в консоли python, сначала выполняешь в командной строке python а потом уже импорт

Ты с pycharm работаешь?
 

dmitriy_74

Новичок
Пользователь
Май 15, 2022
12
2
3
ты

это проверяется в консоли python, сначала выполняешь в командной строке python а потом уже импорт

Ты с pycharm работаешь?
нет.1652793688685.png
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
Выполнил в консоли pip list и посмотри есть ли среди списка установленных пакетов moviepy
 

Форум IT Специалистов