Moviepy模块之视频添加文本水印

时间:2023-04-04 19:02:42

前言

大家好,我是空空star,本篇给大家分享一下Moviepy模块之视频添加文本水印。
本篇使用的moviepy版本如下:
Name: moviepy
Version: 1.0.3


视频添加文本水印

1.1 引入库

from moviepy.video.VideoClip import TextClip
from moviepy.video.compositing.CompositeVideoClip import CompositeVideoClip
from moviepy.video.io.VideoFileClip import VideoFileClip

1.2 加载视频文件

local = '/Users/kkstar/Downloads/video/'
video = VideoFileClip(local+"demo.mp4")

1.3 创建文本水印

txt_clip = TextClip("空空star", fontsize=30, color='white',font='STHeitiMedium.ttc')

1.4 设置文本水印的位置和持续时间

# 将文本水印放置在视频的右下角
txt_clip = txt_clip.set_pos(('right','bottom')).set_duration(video.duration)
# 将文本水印放置在视频的左上角
# txt_clip = txt_clip.set_pos(('left','top')).set_duration(video.duration)
# 将文本水印放置在视频的中心
#txt_clip = txt_clip.set_pos(('center','center')).set_duration(video.duration)

1.5 将文本水印与视频合并

watermark = CompositeVideoClip([video, txt_clip])

1.6 保存水印视频

watermark.write_videofile(local+"output.mp4")

总结

  1. 使用MoviePy的VideoFileClip函数加载视频。
  2. 使用TextClip函数创建文本水印,可以设置文本内容、字体大小、颜色等参数。
  3. 使用set_pos和set_duration函数设置文本水印的位置和持续时间。
  4. 使用CompositeVideoClip函数将视频和文本水印合成为一个新的视频。
  5. 使用write_videofile函数保存输出视频。

注意事项

1.1 需要安装imagemagick

我的笔记本是mac,则通过以下命令安装即可。

brew install imagemagick

1.2 需要指定字体文件名

对于中文文本水印,TextClip的参数font不用字体名,而是用字体文件名。
再将所需要的字体文件拷贝到代码同级目录下即可。