python 视频流截图_python3将视频流保存为本地视频文件

2023-11-19

使用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()

结果:

201862093644189.jpg?201852093722

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 视频流截图_python3将视频流保存为本地视频文件 的相关文章

  • Springboot +mybatis-plus 实现公共字段自动填充

    本文讲述了在SpringBoot 中使用Mybatis Plus如何实现一个自动填充功能 目录 一 应用场景 二 代码实现步骤 1 建数据库表 t user 2 创建spring boot项目集成mybatis plus实现字段自动填充 2
  • 少儿机器人编程主要使用的语言有啥

    少儿机器人编程主要使用的语言 说起孩子的学习 想必家长们都是非常的有发言权的 很多的家长在培养孩子的学习方面也可以说相当的耐心的 他们会给孩子选择一些能够有利于孩子成长的课程 就拿现在很多的家长想要孩子去学习机器人编程的课程来说 有的家长对
  • PHP开源大全

    WordPress PHP开源 博客Blog WordPress是最热门的开源个人信息发布系统 Blog 之一 基于PHP MySQL构建 WordPress提供的功能包括 1 文章发布 分类 归档 2 提供文章 评论 分类等多种形式的RS
  • MySQL数据库数据导出出现1290(secure_file_priv)错误解决方法

    目录 解决方案 测试效果 解决方案 secure file priv是用来限制mysql数据库导出的位置 目录 算是一直安全保护系统 我们可以去通过show variables like secure 这个指令去查看secure file
  • 2021-05-08记录一次最新版小红书逆向细节

    预备工具 ida7 5 piexl 手机 jadx jeb 某书是有TracerPid反调试 先过反调试 这有两个方法 1 Frida hook fopen 过滤 2 修改安卓源码去掉TracerPid 1 Frida hook脚本 fun
  • Python入门到实战(十一)无监督学习、KMeans、KNN、实现图像分割、监督学习VS无监督学习

    Python入门到实战 十一 无监督学习 KMeans KNN 实现图像分割 监督学习VS无监督学习 无监督学习unsupervised learning 特点 应用 K均值聚类 核心流程 核心公式 KMeans VS KNN 实战 KMe
  • 深度遍历 和 广度遍历

    深度dfs 用到了递归 先把根节点 输出根节点 然后遍历根节点的孩子 const fun1 root gt console log root val root children forEach fun1 fun1 tree 广度遍历 每次遍
  • java 集成MinIo

    1 引入maven包 注意jar包冲突
  • 在springboot打包成jar后,无法读取自定义文件的解决办法

    前两天在做springcloud框架下的项目的时候 用到有一个框架之外的文件需要进行读取 当时在eclipse中编码时通过this getClass getResource来获取文件的路径 没有任何的问题 但是在打成jar以后 这是是打成j
  • c++3之static、const、friend关键字

    1 1static 修饰局部变量 延长生命周期 由栈区 gt 静态区 修饰全局变量或函数 限制作用域 只能用于本文件中使用 static 成员变量 1 static成员变量不占class的空间 修饰成员变量 需要在外部单独定义 要加来源 A
  • Think-on-Graph: Deep and Responsible Reasoning of Large Language Model with Knowledge Graph

    本文是LLM系列文章 针对 Think on Graph Deep and Responsible Reasoning of Large Language Model with Knowledge Graph 的翻译 对图的思考 基于知识图
  • TensorFlow时间序列tfts-seq2seq

    关注我的公众号YueTan进行交流探讨 欢迎关注时间序列仓库 https github com LongxingTan Time series prediction 时间序列1 概述 时间序列2 transformers 时间序列3 seq
  • Windows11 安卓子系统安装(附apk安装步骤)

    Windows11 安卓子系统安装 附apk安装步骤 系列 Android 前言 Win11安卓子系统 Windows Subsystem for Android 是一个组件 以帮助通过亚马逊商店在其上运行Android 应用程序 在最新的
  • Golang适合高并发场景的原因分析

    典型的两个现实案例 我们先看两个用Go做消息推送的案例实际处理能力 360消息推送的数据 16台机器 标配 24个硬件线程 64GB内存 Linux Kernel 2 6 32 x86 64 单机80万并发连接 load 0 2 0 4 C
  • VBA-选择文件对话框

    打开选择路径对话框 strTitle 对话框标题名 strTypesDec 选择文件类型名 多文件名时用 连接 Images All files strExten 选择文件类型 一个文件名有多个读取类型时用 连接 多个文件名用 连接 gif
  • c++ extern的用处(转载)

    转自chao yu cnblog com 1 基本解释 extern可以置于变量或者函数前 以标示变量或者函数的定义在别的文件中 提示编译器遇到此变量和函数时在其他模块中寻找其定义 此外extern也可用来进行链接指定 也就是说extern
  • ext4 mballoc之buddy算法

    buddy bitmap 根据 Ext4文件系统介绍 理论篇 nginux的博客 CSDN博客 我们知道磁盘上有1block 大小 默认4K data block bitmap 每bit位代表一个block的使用情况 1代表占用 0代表空闲
  • 机器学习主题模型之LDA参数求解——变分推断+EM近似

    由上一篇可知LDA主要有两个任务 对现有文集确定LDA模型参数 的值 或对一篇新文档 根据模型确定隐变量的分布p z w 由于无法直接求出这个后验分布 因此可以考虑使用Laplace近似 变分近似 MCMC Gibbs采样法等算法求解 1
  • 如何解决Visual Studio 2017 运行后控制台窗口一闪就消失了

    安装使用Visual Studio 2017 后 用Ctrl F5运行程序 结果控制台窗口一闪就没了 也没有出现 press any key to continue 或者 请按任意键继续 出现这种原因 主要是建立工程时选用的是 空工程 Em

随机推荐

  • Spring Boot日志框架Log4j 2详解(干货)

    程序开发过程中 Log日志是发现问题和分析问题的利器 可以通过打印的Log可以快速的定位bug出现的原因 好的Log信息还会提供问题的解决方法 Spring Boot 默认使用的是logback日志框架 在性能方面Log4j2更优 Spri
  • FreeRTOS之系统配置

    1 FreeRTOS的系统配置文件为FreeRTOSConfig h 在此配置文件中可以完成FreeRTOS的裁剪和配置 在官方的demo中 每个工程都有一个该文件 2 先说一下 INCLUDE 开始的宏 使用 INCLUDE 开头的宏用来
  • Hbase数据库的安装

    Linux tar 命令 菜鸟教程
  • 编码GBK不可映射字符的三种解决方法

    当我们需要输出中文时 在DOS等运行和调试代码时会出现 study01 java 3 错误 编码GBK的不可映射字符 System out println 浠婂 鐨勬棩鏈熸槸锛 day 锛 或者中文编码错误 原因 Windows CMD和P
  • IP地址与int整数的转换

    将 IP 地址转换成 10 进制整数 例如 IP 地址为10 0 3 193 把每段拆分成一个二进制形式组合起来为00001010 00000000 00000011 11000001 然后把这个二进制数转变成十进制整数就是16777312
  • CTFShow-WEB入门篇--信息搜集详细Wp

    CTFShow WEB入门篇详细Wp 信息收集 web1 web2 web3 web4 web5 web6 web7 web8 web9 web10 web11 web12 web13 web14 web15 web16 web17 web
  • 微服务项目之项目简介

    目录 项目模式 技术栈 项目架构图 模块 主模块 项目模式 电商模式 市面上有5种常见的电商模式 B2B B2C C2B C2C O2O 1 B2B模式 B2B Business to Business 是指 商家与商家建立的商业关系 如
  • 软件设计师---程序设计语言

    程序设计语言 简介 编译程序和解释程序 真题 程序设计语言基本成分 真题 传值调用和传地址调用 代码实现 真题 编译 解释程序翻译阶段 真题 符号表 真题 编译过程概述 词法分析 语法分析 语义分析 目标代码生成 小结 真题 动态语义错误
  • Axure RP PC电商平台Web端交互原型模板

    Axure RP PC电商平台Web端交互原型模板 原型图内容齐全 包含了用户中心 会员中心 优惠券 积分 互动社区 运营推广 内容推荐 商品展示 订单流程 订单管理 售后及服务等完整的电商体系功能架构和业务流程 在设计尺寸方面 本套模板按
  • jquery之锚点定位和jquery模拟锚点定位效果,页面滚动到相对应的位置时,所在的导航文字高亮显示

    1 常见的锚点定位效果 a a div 或 a href print a div 这种方法 如果网页中有顶部固定导航栏 那么常见的锚点定位就会被遮住了一部分 很难用样式弥补 于是可以考虑第二种方法 js模拟锚点跳转效果 2 js模拟锚点跳转
  • @SpringBootApplication注解分析

    首先我们分析的就是入口类Application的启动注解 SpringBootApplication 进入源码 Target ElementType TYPE Retention RetentionPolicy RUNTIME Docume
  • Visual Studio和idea自用快捷键

    写代码不停的在键盘与鼠标之间切换真的是非常影响心情 多学点快捷键 一能服务自己 二能在妹子前耍帅 何乐不为 因为自己还是菜鸡一个 很多功能自己还用不到 所以先贴上几个自己常用的还有想用的吧 网上的太全了自己看着也不方便 VS Studio快
  • 详解qsort函数的使用及模拟实现qsort函数

    目录 引言 1 qsort函数简介 qsort函数原型 函数参数介绍 比较函数 compar 的编写 补充 void 类型的指针 2 qsort函数示例 2 1对int类型排序 2 2对char类型排序 2 3对浮点型排序 2 4对结构体类
  • Cygwin安装、使用和软件更新

    http www ibm com developerworks cn aix library au spunix cygwin 幸运的是 Cygwin 见 参考资料 在 Windows 环境中提供大家熟悉的一片天地 就像是美国人在法国找到了
  • AOM、VTM初体验及安装tensorflow

    AOM VTM初体验 文章目录 AOM VTM初体验 Cmake AOM 命令参数 VTM 安装tensorflow Anaconda的快速入门 对比GPU和CPU的计算速度 Cmake cmake的定义是什么 高级编译配置工具 当你用不同
  • 按键的短按和长按检测

    方法一 常用的加延时函数 在中断服务函数中加一个比如10ms的延时函数 延时时间的长短取决于实际所用的按键特性 只要延时时间比抖动时间略大即可 原理很简单 加了延时就避开了抖动的这段时间 在延时之后判断引脚电平 如果为低电平就表示是按下 v
  • Q99:当Bezier曲面(Utah Teapot)同时遇上“噪声纹理”和“Phong反射模型”

    1 理论介绍 完整标题应该是 当 三角形网格细分后的 Bezier曲面 Utah Teapot 同时遇上 噪声纹理 和 Phong反射模型 其实 就是将 Q97 怎么用三角形网格细分Bezier曲面 以Utah Teapot为例 http
  • 来自网页的消息服务器繁处理忙,EventSource 对象用于接收服务器发送事件通知,是网页自动获取来自服务器的更新...

    客户端代码 if typeof EventSource undefined var source new EventSource api v1 event source source onmessage function event con
  • 巴比特

    摘要 3月15日凌晨 OpenAI在官网上宣告了多模态大模型GPT 4的诞生 GPT 4 实现了以下几个方面的飞跃式提升 强大的识图能力 文字输入限制提升至 2 5 万字 回答准确性显著提高 能够生成歌词 创意文本 实现风格变化 GPT 4
  • python 视频流截图_python3将视频流保存为本地视频文件

    使用python3 opencv3 3 1环境将视频流保存为本地视频文件 具体内容如下 1 利用opencv中的VideoCapture类获取视频流的链接 通过cv2的方法得到该视频流的帧数和每帧大小 2 使用VideoWriter类进行视