Я пытаюсь объединить несколько наборов AudioFileClip-х и ImageClip-х в одном фильме. Но у меня возникают странные ошибки, я потратил много времени, и пытался много вещей, чтобы попытаться и заставить его работать.
Я пытался:
- Создание один комбинированный AudioClip, а затем добавить его к объединенным ImageClips вместо добавлением кучи ImageClips, что уже есть аудио прилагается
- Различные способы ввода клипов вместе, такие как .set_audio и с помощью температуры аудиофайл при записи клипа в файл
- Тестирование подобной ситуации в консоли, которая работала
- Поиск и поиска moviepy документы и предыдущие вопросы
from moviepy import editor as mp
from gtts import gTTS
from mutagen.mp3 import MP3
class test:
def __init__(self):
self.clips = []
def add_clip(self, text, picture_path, audio_path):
tts = gTTS(text)
tts.save(audio_path)
duration = MP3(audio_path).info.length
image_clip = mp.ImageClip(picture_path, duration=duration)
audio = mp.AudioFileClip(audio_path)
image_clip = image_clip.set_audio(audio)
self.clips.append(image_clip)
audio.close()
image_clip.close()
t = test()
t.add_clip("Hello", 'screenshots/t3_bgykzb/main.png', 'screenshots/t3_bgykzb/main.mp3')
t.add_clip("Hello", 'screenshots/t3_bgykzb/main2.png', 'screenshots/t3_bgykzb/main.mp3')
t.add_clip("Hello", 'screenshots/t3_bgykzb/main3.png', 'screenshots/t3_bgykzb/main.mp3')
main_clip = mp.concatenate_videoclips(t.clips)
main_clip.write_videofile(f'screenshots/movie.mp4', fps=24)
main_clip.close()
Я ожидаю, что это выходной файл mp4, который имеет 3 клипов, каждый из которых поздоровавшись с помощью TTS. TTS работает отлично и выводит mp3 правильно, он отлично работает, когда я закомментируйте set_audio линии, но когда я объединить все клипы в один mp4 имеет ошибку.
AttributeError: 'NoneType' object has no attribute 'get_frame'
Полная ошибка: https://mystb.in/ulusafajan.rb
Ни один из объектов в списке нет ни одного, и я запутался, почему каскадный клип оленьей кожи у читателя
Любые и вся помощь оценена! Спасибо!