使用python截取视频中的某一段,直接上代码:
def cut_video(video_path, save_path):"""截取某一段视频"""START_HOUR = 0START_MIN = 27START_SECOND = 0START_TIME = START_HOUR * 3600 + START_MIN * 60 + START_SECOND # 设置开始时间(单位秒)END_HOUR = 0END_MIN = 33END_SECOND = 51END_TIME = END_HOUR * 3600 + END_MIN * 60 + END_SECOND # 设置结束时间(单位秒)cap = cv2.VideoCapture(video_path)FPS = cap.get(cv2.CAP_PROP_FPS)print(FPS)FPS = 25# size = (cap.get(cv2.CAP_PROP_FRAME_WIDTH), cap.get(cv2.CAP_PROP_FRAME_HEIGHT))size = (1920, 1080)print(size)TOTAL_FRAME = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) # 获取视频总帧数frameToStart = START_TIME * FPS # 开始帧 = 开始时间*帧率print(frameToStart)frametoStop = END_TIME * FPS # 结束帧 = 结束时间*帧率print(frametoStop)videoWriter = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'), FPS, size)# cap.set(cv2.CAP_PROP_POS_FRAMES, frameToStart) # 设置读取的位置,从第几帧开始读取视频COUNT = 0while True:success, frame = cap.read()if success:COUNT += 1if COUNT <= frametoStop and COUNT > frameToStart: # 选取起始帧print('correct= ', COUNT)videoWriter.write(frame)# print('mistake= ', COUNT)if COUNT > frametoStop:breakprint('end')