python读取视频,Python保存视频
使用python3 opencv3.3.1环境将视频流保存为本地视频文件,具体如下
1.使用opencv中的VideoCapture类获取视频流的链接,通过cv2获取视频流的帧数和每帧的大小。
2.使用VideoWriter类对视频进行编码并输出视频。
3.视频流通过VideoCapture的read()方法解码成每一帧。
4.一旦我们得到每一帧,我们就可以做图像算法(如识别,图像增强,灰度变换等。)用于该帧。
实例代码
importcv2
frommatplotlibimportpyplotasplt
#通过cv2中的类获取视频流操作对象cap
cap=cv2。video capture( RTSP ://admin : passwd @ 10 . 130 . 10 . 111:554/MPEG-4/ch1/main/av _ stream )
#调用cv2方法获取cap的视频帧(帧:每秒多少张图片)
fps=cap.get(cv2。CAP_PROP_FPS)
打印(fps)
#获取cap视频流每帧的大小
size=(int(cap.get(cv2。CAP_PROP_FRAME_WIDTH),
int(cap.get(cv2。帽_道具_框架_高度)))
打印(尺寸)
#定义编码格式mpge-4
fourcc=cv2。VideoWriter_fourcc(M , P , 4 , 2 )
#定义视频文件输入对象
outVideo=cv2。VideoWriter(saveDir.avi ,fourcc,fps,size)
#获取视频流打开状态
ifcap.isOpened():
rval,frame=cap.read()
打印(真)
else:
rval=False
打印(“假”)
tot=1
c=1
#回收cv2的read()方法读取视频帧。
whilerval:
rval,frame=cap.read()
cv2.imshow(test ,frame)
#每20帧保存一帧图像
#iftot==0:
#cv2.imwrite(cut/ cut_ str(c))。jpg ,框架)
#c=1
tot=1
打印( tot=,tot)
#使用VideoWriter类中的write(frame)方法将图像帧写入视频文件。
outVideo.write(帧)
cv2.waitKey(1)
cap.release()
outVideo.release()
cv2 . destroyallwindows()结果:
推荐课程:Python基础入门
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。