Мне бы хотелось, чтобы я все делал правильно.
У меня есть массив ImageClips
с другой начальной точкой.
IMAGE_DURATION = 3
for image in images:
index = images.index(image)
image_clip = ImageClip(img=image["path"])`
.set_start(IMAGE_DURATION * index)
.set_duration(IMAGE_DURATION)
array.append(image_clip)
У меня также есть VideoFileClips
и TextClip
в этом массиве.
Каждый TextClip
принадлежит одному ImageClip
или VideFileClip
.
Это означает, что он имеет одинаковые значения set_start
и set_duration
.
Пример:
[
"media": ImageClip()
"title": TextClip()
...
"media": VideoFileClip()
"title: TextClip()
]
У меня также есть ImageClip
, который является фоновым, а его продолжительность равна продолжительности всего видео.
Как создать видеофайл:
video = ImageClip(img="background.jpg").set_duration(duration_whole_video)
for scene in scenes: video = CompositeVideoClip(clips=[video, array["media], array["title])
video.write_videofile("test.mp4", fps=30)
Но этот путь занимает много времени, и я считаю, что есть лучшее way.
Если ImageClip
занимает 3 секунды, и у меня есть fps=30
=> 3 * 30 кадров одного изображения?
Я думаю, что мне нужно как-то создать видеофайл с (ImageClip
и fps=1
) и (VideoFileClip
и fps=30
) отдельно.
И затем присоединиться к ним.