python-opencv截取视频
import cv2
import tkinter.filedialog
filename = tkinter.filedialog.askopenfilename()
cap = cv2.VideoCapture(filename)
frames = cap.get(cv2.CAP_PROP_FRAME_COUNT)
fps = cap.get(cv2.CAP_PROP_FPS)
width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('/media/wangfan/4T2/gaolou/c32.mp4', fourcc, fps, (int(width), int(height)))
video_length = frames / fps
print('start and stop must < %.1f' % video_length)
start = float(input('Input an start time/s:'))
stop = float(input('Input an stop time/s:'))
cap.set(cv2.CAP_PROP_POS_FRAMES, start * fps)
pos = cap.get(cv2.CAP_PROP_POS_FRAMES)
while (pos <= stop * fps):
ret, frame = cap.read()
out.write(frame)
pos = cap.get(cv2.CAP_PROP_POS_FRAMES)
cap.release()
out.release()