文章目录
前言
大家好,我是空空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")
总结
- 使用MoviePy的VideoFileClip函数加载视频。
- 使用TextClip函数创建文本水印,可以设置文本内容、字体大小、颜色等参数。
- 使用set_pos和set_duration函数设置文本水印的位置和持续时间。
- 使用CompositeVideoClip函数将视频和文本水印合成为一个新的视频。
- 使用write_videofile函数保存输出视频。
注意事项
1.1 需要安装imagemagick
我的笔记本是mac,则通过以下命令安装即可。
brew install imagemagick
1.2 需要指定字体文件名
对于中文文本水印,TextClip的参数font不用字体名,而是用字体文件名。
再将所需要的字体文件拷贝到代码同级目录下即可。