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实现的使用telnet登陆聊天室实例
Jun 17 Python
python使用标准库根据进程名如何获取进程的pid详解
Oct 31 Python
遗传算法python版
Mar 19 Python
python字符串string的内置方法实例详解
May 14 Python
用python代码将tiff图片存储到jpg的方法
Dec 04 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
Apr 10 Python
python之当你发现QTimer不能用时的解决方法
Jun 21 Python
Python动态语言与鸭子类型详解
Jul 01 Python
Python叠加两幅栅格图像的实现方法
Jul 05 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
python打包成so文件过程解析
Sep 28 Python
Python Tkinter实例——模拟掷骰子
Oct 24 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脚本的10个技巧(5)
2006/10/09 PHP
隐藏你的.php文件的实现方法
2007/03/19 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
ecshop 2.72如何修改后台访问地址
2015/03/03 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
2018/06/08 Javascript
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
Openlayers实现图形绘制
2020/09/28 Javascript
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
深入了解Django中间件及其方法
2019/07/26 Python
python logging添加filter教程
2019/12/24 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
Python如何读写CSV文件
2020/08/13 Python
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
安全教育感言
2014/03/04 职场文书
踏青活动策划方案
2014/08/19 职场文书
暑假安全教育广播稿
2014/09/10 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
成绩报告单家长评语
2014/12/30 职场文书
同意落户证明
2015/06/19 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
你知道哪几种MYSQL的连接查询
2021/06/03 MySQL