moviepy动画文本

nzrxty8p  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(388)

我怎样才能使文本在左侧继续而不停止?我看不出我使用的方法有什么问题。我想我在动画中使用了正确的公式。

from moviepy.editor import *

# Load video

video = VideoFileClip("auto.mp4")

# Video lenght

duration = video.duration

# Video size

w, h = video.size

# Load text from txt

f = open('data.txt', 'r')
data = f.read().replace('\n', '')

# Text for video

txt = (TextClip(data, fontsize=50, font='Amiri-regular',
                color='white')
       .set_duration(duration))

# Transparent text background

txt_col = txt.on_color(size=(video.w + txt.w, txt.h - 10),
                       color=(0, 0, 0), pos=(6, 'center'), col_opacity=0.8)

# Animate text

txt_mov = txt_col.set_pos(lambda t: (max(w / w, int(w - 0.5 * w * t)),
                                     max(5.4 * h / 6, int(0 * t))))

# Overlay text on video

result = CompositeVideoClip([video, txt_mov])

# Render video

result.write_videofile("test.mp4")
hm2xizp9

hm2xizp91#

当我使用

int(w - 0.5 * w * t)

而不是

max(w/w, int(w - 0.5 * w * t))

所以 max(w/w, ...) 他正在停止动画

相关问题