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爬取网站数据保存使用的方法
Nov 20 Python
python实现文件快照加密保护的方法
Jun 30 Python
Python字典实现简单的三级菜单(实例讲解)
Jul 31 Python
Python2随机数列生成器简单实例
Sep 04 Python
Python实现的端口扫描功能示例
Apr 08 Python
python如何求解两数的最大公约数
Sep 27 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
Apr 01 Python
python文本数据处理学习笔记详解
Jun 17 Python
python3 打印输出字典中特定的某个key的方法示例
Jul 06 Python
python连接、操作mongodb数据库的方法实例详解
Sep 11 Python
Python实现名片管理系统
Feb 14 Python
python分布式爬虫中消息队列知识点详解
Nov 26 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
php设计模式 Decorator(装饰模式)
2011/06/26 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
CI框架附属类用法分析
2018/12/26 PHP
JavaScript arguments 多参传值函数
2010/10/24 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
2013/03/31 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
Python实现设置windows桌面壁纸代码分享
2015/03/28 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
用python爬取租房网站信息的代码
2018/12/14 Python
python binascii 进制转换实例
2019/06/12 Python
解决pycharm remote deployment 配置的问题
2019/06/27 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
CSS3 text shadow字体阴影效果
2016/01/08 HTML / CSS
募捐倡议书
2014/04/14 职场文书
节水口号标语
2014/06/19 职场文书
批评与自我批评发言稿
2014/10/15 职场文书
2015年端午节国旗下演讲稿
2015/03/19 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
Java使用Unsafe类的示例详解
2021/09/25 Java/Android
Python编程super应用场景及示例解析
2021/10/05 Python
【2·13】一图读懂中国无线电发展
2022/02/18 无线电
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers