from cv2 import cv2 as cv2
from PIL import Image
import imagehash
from moviepy.editor import VideoFileClip
def sliceVideo2(clip,stime,endtime):
clip.subclip(stime, endtime).write_videofile(f"SUBCLIP.mp4")
def toSec(value):
h,m,s,f = value.strip().split(":")
return int(h) * 3600 + int(m) * 60 + int(s)+int(f)/1000
def sliceVideoFull(clip,mytime,name='SUBCLIP',head=False,foot=False):
num = 1
if head:
print(f"BEGIN 第{num}个片段!", 0.0,toSec(mytime[0]))
clip.subclip(0.0,toSec(mytime[0])).write_videofile(f"{name}-{num}.mp4")
num = num+1
for i,value in enumerate(mytime):
if(i==len(mytime)-1):
continue;
print(f"BEGIN 第{num}个片段!",toSec(value),toSec( mytime[i+1]))
clip.subclip(toSec(value),toSec( mytime[i+1])).write_videofile(f"{name}-{num}.mp4")
num = num+1
if foot:
print(f"BEGIN 第{num}个片段!",toSec(mytime[len(mytime)-1]),clip.duration)
clip.subclip(toSec(mytime[len(mytime)-1]),clip.duration).write_videofile(f"{name}-{num}.mp4")
print(f"END 已完成{num}个片段!")
if __name__ == '__main__':
# sliceVideo()
clip = VideoFileClip("H:\\抖音视频项目\\三体\\202109242120(1).mp4")
name = '四十分钟讲完三体'
mytime = ['00:04:19:14',
'00:08:07:01',
'00:11:58:10',
'00:16:54:17',
'00:21:37:12',
'00:29:09:29',
'00:33:12:17',
]
sliceVideoFull(clip,mytime,name,True,True)