#!/usr/bin/env python
import os
from moviepy.editor import *
def listFile(dir):
dirs = os.listdir(dir)
for file in dirs:
f_p = os.path.join(dir,file)
print(f_p)
def t2s(t):
times = t.strip().split(":")
if len(times) == 3:
h,m,s = times
elif len(times) == 2:
h = 0
m,s = times
else:
return int(times[0])
return int(h) * 3600 + int(m) * 60 + int(s)
def sublipFromtimes(f_p):
with open("yhtimes.txt") as f:
times = f.readlines()
times = [x.strip() for x in times]
for time in times:
starttime = int(time.split("-")[0])
endtime = int(time.split("-")[1])
subclip(f_p, str(times.index(time)+1)+".mp4", starttime, endtime)
def sublipFromHms(f_p):
with open("hms.txt") as f:
times = f.readlines()
times = [x.strip() for x in times]
for time in times:
starttime = t2s(time.split("-")[0])
endtime = t2s(time.split("-")[1])
subclip(f_p, str(times.index(time)+1)+".mp4", starttime, endtime)
def subclip(f_p,o_p,start,end=0):
videoclip = VideoFileClip(f_p)
if end==0:
end = videoclip.duration
videoclip_new = videoclip.subclip(start,end)
videoclip_new.write_videofile(o_p)
def concatclip(o_p,clips):
# 传入数组clips
videoclip_new = concatenate_videoclips(clips)
videoclip_new.write_videofile(o_p)
def addLogo(f_p,o_p,logo):
video = VideoFileClip(f_p)
#准备log图片
logo = (ImageClip(logo)
.set_duration(video.duration) # 水印持续时间
.resize((500,300)) # 水印的高度,会等比缩放
.margin(right=0, top=0, opacity=1) # 水印边距和透明度
.set_pos(("left","top"))) # 水印的位置
result = CompositeVideoClip(
[video, logo]
) #在视频上覆盖
result.write_videofile(o_p,fps=25)#fps:视频文件中每秒的帧数
def updateDir(dir):
#修改文件夹名字
for d_n in os.listdir(dir):
d_n = os.path.join(dir,d_n)
os.rename(d_n,d_n.replace('王者',''))
if __name__ == '__main__':
print(t2s('00:00:11:55'))