在工作中剛好用到,按自己的需求寫了一段
import cv2 cap = cv2.VideoCapture('video.mp4') cap.isOpened() width = cap.get(cv2.CAP_PROP_FRAME_WIDTH) height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT) print(width,height) if cap.isOpened(): # 當成功打開視頻時cap.isOpened()返回True,否則返回False # get方法參數按順序對應下表(從0開始編號) rate = cap.get(5) # 幀速率 FrameNumber = int(cap.get(7)) # 視頻文件的幀數 duration = FrameNumber / rate # 幀速率/視頻總幀數 是時間,除以60之后單位是分鍾 fps = int(rate) #每一段小視頻幀數 i = 0 while (True): success, frame = cap.read() if success: i += 1 if (i % fps == 1): videoWriter = cv2.VideoWriter(str(i) + '.mp4', cv2.VideoWriter_fourcc('D', 'I', 'V', 'X'), fps, (int(width), int(height))) videoWriter.write(frame) else: videoWriter.write(frame) else: print('end') break cap.release()
