python3将视频流保存为本地视频文件


Posted in Python onJune 20, 2018

使用python3+opencv3.3.1环境将视频流保存为本地视频文件,具体内容如下

1、利用opencv中的VideoCapture类获取视频流的链接,通过cv2的方法得到该视频流的帧数和每帧大小。

2、使用VideoWriter类进行视频编码

3、通过VideoCapture的read()方法进行视频流解码成每一帧

4、获取到每一帧frame,我们就可以对该帧做图像算法(例如识别、图像加强、灰度变换等)

import cv2 
from matplotlib import pyplot as plt 
 
#通过cv2中的类获取视频流操作对象cap 
cap = cv2.VideoCapture('rtsp://admin:passwd@10.130.10.111:554/MPEG-4/ch1/main/av_stream') 
#调用cv2方法获取cap的视频帧(帧:每秒多少张图片) 
fps = cap.get(cv2.CAP_PROP_FPS) 
print(fps) 
#获取cap视频流的每帧大小 
size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), 
    int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))) 
print(size) 
 
#定义编码格式mpge-4 
fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', '2') 
#定义视频文件输入对象 
outVideo = cv2.VideoWriter('saveDir.avi',fourcc,fps,size) 
 
#获取视频流打开状态 
if cap.isOpened(): 
  rval,frame = cap.read() 
  print('ture') 
else: 
  rval = False 
  print('False') 
 
tot=1 
c=1 
#循环使用cv2的read()方法读取视频帧 
while rval: 
  rval,frame = cap.read() 
  cv2.imshow('test',frame) 
  #每间隔20帧保存一张图像帧 
  # if tot % 20 ==0 : 
  #   cv2.imwrite('cut/'+'cut_'+str(c)+'.jpg',frame) 
  #   c+=1 
  tot+=1 
  print('tot=',tot) 
  #使用VideoWriter类中的write(frame)方法,将图像帧写入视频文件 
  outVideo.write(frame) 
  cv2.waitKey(1) 
cap.release() 
outVideo.release() 
cv2.destroyAllWindows()

结果:

python3将视频流保存为本地视频文件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的__new__与__init__魔术方法理解笔记
Nov 08 Python
CentOS安装pillow报错的解决方法
Jan 27 Python
Linux RedHat下安装Python2.7开发环境
May 20 Python
python使用matplotlib画饼状图
Sep 25 Python
神经网络相关之基础概念的讲解
Dec 29 Python
python 利用文件锁单例执行脚本的方法
Feb 19 Python
Python字典遍历操作实例小结
Mar 05 Python
使用python socket分发大文件的实现方法
Jul 08 Python
如何在Python 游戏中模拟引力
Mar 27 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
Apr 24 Python
简单了解python shutil模块原理及使用方法
Apr 28 Python
pytorch中的model.eval()和BN层的使用
May 22 Python
Python操作MySQL数据库的方法
Jun 20 #Python
python实现抖音视频批量下载
Jun 20 #Python
Python 类的特殊成员解析
Jun 20 #Python
python实现音乐下载的统计
Jun 20 #Python
django2用iframe标签完成网页内嵌播放b站视频功能
Jun 20 #Python
python基于http下载视频或音频
Jun 20 #Python
python实现下载pop3邮件保存到本地
Jun 19 #Python
You might like
967 个函式
2006/10/09 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
2010/10/26 Javascript
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
利用node.js如何搭建一个简易的即时响应服务器
2017/05/28 Javascript
Node.js实现文件上传的示例
2017/06/28 Javascript
node通过express搭建自己的服务器
2017/09/30 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
VUE实现密码验证与提示功能
2019/10/18 Javascript
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
Python操作串口的方法
2015/06/17 Python
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
python实现二维插值的三维显示
2018/12/17 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
python开头的coding设置方法
2019/08/08 Python
Python shutil模块用法实例分析
2019/10/02 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
管理信息系学生的自我评价
2014/01/11 职场文书
国培计划培训感言
2014/03/11 职场文书
事假请假条范文
2014/04/11 职场文书
关于运动会广播稿200字
2014/10/08 职场文书
档案管理员岗位职责
2015/02/12 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android