本篇内容介绍了“怎么使用Moviepy模块实现视频添加图片水印”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
视频添加图片水印
1.引入库
from moviepy.editor import *
2.加载视频文件
local = '/Users/kkstar/Downloads/video/' video = VideoFileClip(local+"demo.mp4")
3.加载水印图片
watermark = ImageClip(local+"demo.png")
4.缩放水印图片大小
watermark = watermark.resize(width=200, height=50)
5.设置水印的位置
5.1 相对于视频的左上角
watermark = watermark.set_position(("left","top"))
5.2 相对于视频的左下角
watermark = watermark.set_position(("left","bottom"))
5.3 相对于视频的右上角
watermark = watermark.set_position(("right","top"))
5.4 相对于视频的右下角
watermark = watermark.set_position(("right","bottom"))
5.5 相对于视频的左中位置
watermark = watermark.set_position(("left","center"))
5.6 相对于视频的正中位置
watermark = watermark.set_position(("center","center"))
5.7 相对于视频的右中位置
watermark = watermark.set_position(("right","center"))
5.8 相对于视频的中上位置
watermark = watermark.set_position(("center","top"))
5.9 相对于视频的中下位置
watermark = watermark.set_position(("center","bottom"))
以上9种位置效果图
5.10 显示在某个点位上
# 显示在100, 50的位置上 watermark = watermark.set_position((100, 50))
5.11 显示在左边距x、右边距y的位置上
# 显示在距离左边百分之10、距离上边百分之5的位置上 # 效果就是距左为 屏幕宽度*0.1,距上为 屏幕高度*0.05的位置上 watermark = watermark.set_position((0.1, 0.05), True)
6. 设置水印出现的时间段
6.1 从视频开始到结束
watermark = watermark.set_duration(video.duration)
6.2 从第x秒开始到结束
# 从第3秒开始到结束 watermark = watermark.set_duration(video.duration-3).set_start(3)
这里需要注意,如果水印开始时间不是视频开始时间,那么水印的持续时长需要原视频时长减去水印开始时间,不然新的视频会被拉长。
假设原视频5秒,设置水印开始时间是第3秒,如果水印持续时长仍是原视频时长,那么新视频将会是5+3=8秒,当原视频播放完了,还有3秒会是一直显示水印的一个黑屏。
6.3 从第x秒开始到第y秒结束
# 水印从第3秒开始到第4秒结束 watermark = watermark.set_duration(4-3).set_start(3).set_end(4)
7. 将水印添加到视频中
video_with_watermark = CompositeVideoClip([video, watermark])
8. 保存带有水印的视频文件
video_with_watermark.write_videofile(local+"output_video.mp4")