Ⅰ python如何用opencv把一个视频按每10秒一小段切下来
你好,下面是相应的一个代码,你可以参考一下:
importcv2
importos
#先导入openCV
#将一个长的视频缩短,按照比例缩短,只保存其中的一部分
#如下面代码就是将一个长视频每10秒取10秒,合并成一个短视频
cap=cv2.VideoCapture('myvideo.avi')
ifnotcap.isOpened():
print('videoisnotopened')
else:
#每秒25帧
num=0
#取10秒
needTime=250
#每10秒
timeSpace=250
#获取视频帧率
fps=cap.get(cv2.CAP_PROP_FPS)
#AVI格式编码输出XVID
videoWriter=cv2.VideoWriter('result//resultVideo_2.avi',cv2.VideoWriter_fourcc('X','V','I','D'),fps,frameSize=(320,288))
while(1):
success,frame=cap.read()
if(num%timeSpace<=needTime):
videoWriter.write(frame)
print('write'+str(num))
num=num+1
ifnotsuccess:
print('finished')
break
ifcv2.waitKey(100)&0xFF==ord('q'):
break
cap.release()