網(wǎng)站建設(shè)屬開票核定稅種奉化首頁的關(guān)鍵詞優(yōu)化
文章目錄
- 前言
- 視頻添加圖片水印
- 1.引入庫
- 2.加載視頻文件
- 3.加載水印圖片
- 4.縮放水印圖片大小
- 5.設(shè)置水印的位置
- 5.1 相對(duì)于視頻的左上角
- 5.2 相對(duì)于視頻的左下角
- 5.3 相對(duì)于視頻的右上角
- 5.4 相對(duì)于視頻的右下角
- 5.5 相對(duì)于視頻的左中位置
- 5.6 相對(duì)于視頻的正中位置
- 5.7 相對(duì)于視頻的右中位置
- 5.8 相對(duì)于視頻的中上位置
- 5.9 相對(duì)于視頻的中下位置
- 以上9種位置效果圖
- 5.10 顯示在某個(gè)點(diǎn)位上
- 5.11 顯示在左邊距x、右邊距y的位置上
- 6. 設(shè)置水印出現(xiàn)的時(shí)間段
- 6.1 從視頻開始到結(jié)束
- 6.2 從第x秒開始到結(jié)束
- 6.3 從第x秒開始到第y秒結(jié)束
- 7. 將水印添加到視頻中
- 8. 保存帶有水印的視頻文件
- 總結(jié)
前言
大家好,我是空空star,本篇給大家分享一下Moviepy模塊之視頻添加圖片水印。
本篇使用的moviepy版本如下:
Name: moviepy
Version: 1.0.3
視頻添加圖片水印
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.設(shè)置水印的位置
5.1 相對(duì)于視頻的左上角
watermark = watermark.set_position(("left","top"))
5.2 相對(duì)于視頻的左下角
watermark = watermark.set_position(("left","bottom"))
5.3 相對(duì)于視頻的右上角
watermark = watermark.set_position(("right","top"))
5.4 相對(duì)于視頻的右下角
watermark = watermark.set_position(("right","bottom"))
5.5 相對(duì)于視頻的左中位置
watermark = watermark.set_position(("left","center"))
5.6 相對(duì)于視頻的正中位置
watermark = watermark.set_position(("center","center"))
5.7 相對(duì)于視頻的右中位置
watermark = watermark.set_position(("right","center"))
5.8 相對(duì)于視頻的中上位置
watermark = watermark.set_position(("center","top"))
5.9 相對(duì)于視頻的中下位置
watermark = watermark.set_position(("center","bottom"))
以上9種位置效果圖

5.10 顯示在某個(gè)點(diǎn)位上
# 顯示在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. 設(shè)置水印出現(xiàn)的時(shí)間段
6.1 從視頻開始到結(jié)束
watermark = watermark.set_duration(video.duration)
6.2 從第x秒開始到結(jié)束
# 從第3秒開始到結(jié)束
watermark = watermark.set_duration(video.duration-3).set_start(3)
這里需要注意,如果水印開始時(shí)間不是視頻開始時(shí)間,那么水印的持續(xù)時(shí)長需要原視頻時(shí)長減去水印開始時(shí)間,不然新的視頻會(huì)被拉長。
假設(shè)原視頻5秒,設(shè)置水印開始時(shí)間是第3秒,如果水印持續(xù)時(shí)長仍是原視頻時(shí)長,那么新視頻將會(huì)是5+3=8秒,當(dāng)原視頻播放完了,還有3秒會(huì)是一直顯示水印的一個(gè)黑屏。
6.3 從第x秒開始到第y秒結(jié)束
# 水印從第3秒開始到第4秒結(jié)束
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")
總結(jié)
VideoFileClip
:VideoFileClip是MoviePy中的一個(gè)類,用于從視頻文件中創(chuàng)建一個(gè)Clip對(duì)象。
ImageClip
:ImageClip是MoviePy中的一個(gè)類,用于創(chuàng)建圖像剪輯。ImageClip類的一些常用方法包括resize
(更改圖像大小)、set_position
(設(shè)置圖像位置)和set_duration
(設(shè)置圖像持續(xù)時(shí)間)。set_start
方法用于設(shè)置開始顯示的時(shí)間點(diǎn),set_end
方法用于設(shè)置結(jié)束顯示的時(shí)間點(diǎn)。