python使用moviepy模块 给视频加水印

一.使用场景

      短视频越来越火的今天,为了防止视频被盗版,需要给视频加水印,于是就有了这个加水印的骚操作。

二.实现步骤

  moviepy文档地址:https://zulko.github.io/moviepy/install.html

           第一步:导入moviepy 模块
   第二步:实例化对象
   第三步:载入水印logo,并设置属性
   第四步:合成影像
   第五步:写入新的video

三.Demo代码:视频加logo图片水印

# -*- coding: utf-8 -*-

import moviepy.editor as mp

#本地视频位置
video = mp.VideoFileClip("D:/Software/blibli/Download/Av706.mp4")

#准备log图片
logo = (mp.ImageClip("D:/tmp/lena.png")
        .set_duration(video.duration) # 水印持续时间
        .resize(height=100) # 水印的高度,会等比缩放
        .margin(right=8, top=8, opacity=1) # 水印边距和透明度
        .set_pos(("left","center"))) # 水印的位置

final = mp.CompositeVideoClip([video, logo])
# mp4文件默认用libx264编码, 比特率单位bps
final.write_videofile("test.mp4", codec="libx264", bitrate="10000000")

视频截图:

四.Demo代码:视频加文字水印

# -*- coding: utf-8 -*-
from moviepy.editor import *

#本地视频位置
from moviepy.video.VideoClip import TextClip
#subclip视频截取开始时间和结束时间
video = VideoFileClip("D:/Software/blibli/Download/Av706.mp4").subclip(0,100)

#制作文字,指定文字大小和颜色
txt_clip = ( TextClip("My Holidays 2020",fontsize=70,color='red')
             .set_position('center')#水印内容居中
             .set_duration(100) )#水印持续时间

result = CompositeVideoClip([video, txt_clip]) #在视频上覆盖文本
result.write_videofile("myHolidays_edited.mp4",fps=25)#fps:视频文件中每秒的帧数

视频截图:

原文地址:https://www.cnblogs.com/KdeS/p/13203489.html