MoviePy 动画文本
MoviePy animated text
我怎样才能让文字在左侧移动而不停止?
我没有看到我使用的方法有问题。而且我认为我使用了正确的动画公式。
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")
代码在我使用时对我有效
int(w - 0.5 * w * t)
而不是
max(w/w, int(w - 0.5 * w * t))
所以max(w/w, ...)
正在停止动画
试试这个,你会喜欢的:
#for ticker remove -0.2
max(w / 2.5, int(-0.2 * w * t)),
max(h * 4 / 10, int(10 * t)))
我怎样才能让文字在左侧移动而不停止? 我没有看到我使用的方法有问题。而且我认为我使用了正确的动画公式。
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")
代码在我使用时对我有效
int(w - 0.5 * w * t)
而不是
max(w/w, int(w - 0.5 * w * t))
所以max(w/w, ...)
正在停止动画
试试这个,你会喜欢的:
#for ticker remove -0.2
max(w / 2.5, int(-0.2 * w * t)),
max(h * 4 / 10, int(10 * t)))