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中IPYTHON入门实例
May 11 Python
Python文件夹与文件的相关操作(推荐)
Jul 25 Python
Python tornado队列示例-一个并发web爬虫代码分享
Jan 09 Python
Python实现的NN神经网络算法完整示例
Jun 19 Python
利用Python进行图像的加法,图像混合(附代码)
Jul 14 Python
Python 实例方法、类方法、静态方法的区别与作用
Aug 14 Python
PyTorch: 梯度下降及反向传播的实例详解
Aug 20 Python
Django实现WebSSH操作物理机或虚拟机的方法
Nov 06 Python
详解python tkinter模块安装过程
Jan 06 Python
python super用法及原理详解
Jan 20 Python
pycharm通过anaconda安装pyqt5的教程
Mar 24 Python
Python学习工具jupyter notebook安装及用法解析
Oct 23 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
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
php xml留言板 xml存储数据的简单例子
2009/08/24 PHP
深入分析php之面向对象
2013/05/15 PHP
php 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
通过jQuery源码学习javascript(二)
2012/12/27 Javascript
Javascript简单实现可拖动的div
2013/10/22 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
jquery获取多个checkbox的值异步提交给php
2015/07/07 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
Python中bisect的用法
2014/09/23 Python
Django CBV类的用法详解
2019/07/26 Python
tensorflow图像裁剪进行数据增强操作
2020/06/30 Python
详解python中的闭包
2020/09/07 Python
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
生产现场工艺工程师岗位职责
2013/11/28 职场文书
保安的辞职报告怎么写
2014/01/20 职场文书
求职信内容怎么写
2014/05/26 职场文书
门面房租房协议书
2014/08/20 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书
学生党员检讨书范文
2014/12/27 职场文书
python四种出行路线规划的实现
2021/06/23 Python
MySQL去除密码登录告警的方法
2022/04/20 MySQL