一.使用場景
短視頻越來越火的今天,為了防止視頻被盜版,需要給視頻加水印,於是就有了這個加水印的騷操作。
二.實現步驟
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:視頻文件中每秒的幀數
視頻截圖: