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 匹配任意字符(包括换行符)的正则表达式写法
Oct 29 Python
python实现类似ftp传输文件的网络程序示例
Apr 08 Python
python网络编程之TCP通信实例和socketserver框架使用例子
Apr 25 Python
基于wxpython开发的简单gui计算器实例
May 30 Python
Python3 操作符重载方法示例
Nov 23 Python
python实现Excel文件转换为TXT文件
Apr 28 Python
Python中的self用法详解
Aug 06 Python
python add_argument()用法解析
Jan 29 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
Feb 10 Python
Pandas之read_csv()读取文件跳过报错行的解决
Apr 21 Python
Python闭包装饰器使用方法汇总
Jun 29 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
Feb 01 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扩展介绍与开发教程
2010/08/19 PHP
深入php常用函数的使用汇总
2013/06/08 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
Javascript 遍历对象中的子对象
2009/07/03 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
JavaScrip调试技巧之断点调试
2015/10/22 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
2017/02/18 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
vue+express+jwt持久化登录的方法
2019/06/14 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
详解Python中用于计算指数的exp()方法
2015/05/14 Python
Python使用django搭建web开发环境
2017/06/09 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
EJB面试题
2015/07/28 面试题
打架检讨书100字
2014/01/08 职场文书
社区优秀志愿者先进事迹
2014/05/09 职场文书
后勤管理员岗位职责
2014/08/27 职场文书
地震捐款倡议书
2014/08/29 职场文书
政风行风评议整改方案
2014/09/15 职场文书
委托培训协议书
2014/11/17 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
表扬信范文
2019/04/22 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书
python正则表达式re.search()的基本使用教程
2021/05/21 Python
Mysql关于数据库是否应该使用外键约束详解说明
2021/10/24 MySQL