Ответ 1
Для записи в файл все кадры должны иметь одинаковый размер. Здесь у вас кадры с Собакой меньше, чем кадры с CatCat, которые портит видео. Первым решением является использование метода "compose" в concatenate_videoclips, это даст одинаковый размер всем клипам:
import moviepy.editor as mp
messages = ["Dog", "Cat", "Duck", "Wolf"]
clips = [ mp.TextClip(txt, fontsize=170, color='green').set_duration(1)
for txt in messages ]
concat_clip = mp.concatenate_videoclips(clips, method="compose")
concat_clip.write_videofile("texts.mp4")
Второе решение - предоставить одинаковые размеры (ширину и высоту) для всех ваших текстовых клипов:
import moviepy.editor as mp
messages = ["Dog", "Cat", "Duck", "Wolf"]
clips = [ mp.TextClip(txt, fontsize=170, color='green', size=(500,300))
.set_duration(1)
for txt in messages]
concat_clip = mp.concatenate_videoclips(clips)
concat_clip.write_videofile("texts.mp4")