cv2间隔指定秒抓取视频
以上为一些常见编码格式:
I420,YUV编码,视频格式为.avi
PIM1,MPEG-1编码,视频格式为.avi
XVID,MPEG-4编码,视频格式为.avi
THEO,Ogg Vorbis,视频格式为.ogv
FLV1,Flash视频,视频格式为.flv
AVC1,H264编码
DIV3,MPEG-4.3编码
DIVX,MPEG-4编码
MP42,MPEG-4.2编码
MJPG,motion-jpeg编码
U263,H263编码
I263,H263I编码
MP4V,视频格式为.mp4
这里是读取摄像头,如果是读取mp4等文件一定要注意格式。
import cv2
import time# 抓取间隔
timekey = 10
# 每秒的帧数
FPS = 30# 计数器
count = 0
while True:cap = cv2.VideoCapture('rtsp://ip....等参数')cap.set(cv2.CAP_PROP_FPS, FPS)fourcc = cv2.VideoWriter_fourcc(*'MP4V')fps = cap.get(cv2.CAP_PROP_FPS)size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))t = time.strftime("%m-%d-%H-%M-%S", time.localtime(time.time()))out = cv2.VideoWriter("video-" + t + ".mp4", fourcc, fps, size)while (cap.isOpened()):ret, frame = cap.read()# ret 是否读取到图片if ret == True:out.write(frame)else:breakcount += 1if count == FPS*timekey:cap.release()out.release()count = 0continue