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:視頻文件中每秒的幀數

 

視頻截圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM