Я не могу понять, как наложить анимацию гизе на видео, чтобы векторная графика была видимой, а фон прозрачным, чтобы видео было видно под анимацией. Я пробовал много разных способов и ничего не получается. Все, что я когда-либо получаю, это анимация гизех, полностью скрывающая основное видео.
Это была моя последняя попытка, я просто пытался нарисовать красную линию поверх видео, я пытался использовать метод mask_color
vfx, чтобы создать маску, которая использует Surface bg_color, но это не имеет никакого эффекта .
import gizeh
from moviepy.editor import *
def make_frame(t):
surface = gizeh.Surface(width=720, height=1280, bg_color=(0.5, 0.5, 0))
line = gizeh.polyline(points=[(0, 1180), (720, 1180)], stroke_width=3, stroke=(1, 0, 0))
line.draw(surface)
return surface.get_npimage()
original_clip = VideoFileClip("test_original_video.mp4")
graphics_clip = VideoClip(make_frame, duration=original_clip.duration)
masked_graphics_clip = vfx.mask_color(graphics_clip, [0.5, 0.5, 0])
final_clip = CompositeVideoClip(
[original_clip,
graphics_clip],
size=(720, 1280))
final_clip.write_videofile("test_output_video.mp4", fps=30))
Как определить и применить маску анимированного графического клипа?