有趣的python- 为视频加水印
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# DevVersion: Python3.6.8
# Date: 2020-09-13 21:59
# Author: SunXiuWen
# PyCharm|moviepy_test
import os
import threading
import moviepy.editor as mp
# 本地视频位置
def get_video_list(file_path):
dirs = os.listdir(file_path)
video_list = []
for i in dirs:
if i.endswith(\'mp4\'):
# path = os.path.join(file_path, os.sep, i)
path = file_path + r\'/\' + i
print(path)
video_list.append(path)
return video_list, dirs
def dis_video(args, kw):
# 创建对象
video = mp.VideoFileClip(args)
# 准备log图片
logo = (
mp.ImageClip(r"E:\head.jpg") # 图片必须是rgb解析成3个值才行,不然报错
.set_duration(video.duration) # 水印持续时间
.resize(height=100) # 水印的高度,会等比缩放
# .margin(left=0, right=0, top=0, opacity=1.0) # 水印的边距与透明度
.set_pos((\'left\', \'center\'))) # 水印的位置
final = mp.CompositeVideoClip([video, logo])
# 文件存放的路劲及文件名 mp4文件默认用libx264编码,比特率单位bps
final.write_videofile(f"E:/save_video/{kw}")
def main():
path_ = r\'E:/video_dir\'
v_list, d_list = get_video_list(path_)
video_list_dir_list = zip(v_list, d_list)
for j in video_list_dir_list:
print(j)
dis_video(*j)
# t = threading.Thread(target=dis_video, args=j)
# t.start()
if __name__ == \'__main__\':
main()
版权声明:本文为sunxiuwen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。