zoukankan      html  css  js  c++  java
  • 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:视频文件中每秒的帧数

    视频截图:

  • 相关阅读:
    基于Lucene/XML的站内全文检索解决方案
    内容管理系统(CMS)的设计和选型
    Lucene入门与使用[转]
    为自己的系统搞个全文搜索 参考值:2 (转)
    C# 时间函数
    Lucene倒排索引原理(转)
    什么是内容管理系统CMS?
    网络测试常用命令
    C#与C的区别
    人生致命的八个经典问题
  • 原文地址:https://www.cnblogs.com/KdeS/p/13203489.html
Copyright © 2011-2022 走看看