当前位置: 首页 > news >正文

C# OpenCvSharp读取rtsp流录制mp4可分段保存

软件界面:

测试环境:

VS2019

.NET Framework 4.7.2

OpencvSharp4.8.0

输入RTSP流地址即可拉取RTSP流,支持抓拍和录制RTSP流视频,且支持支持按固定时间保存,比如我想5分钟保存一个视频,设置保存间隔为300,代码已经封装成类模块,调用十分简单 ,代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using FIRC;
using OpenCvSharp;namespace RtspDemo
{public partial class Form1 : Form{RtspManager rm = new RtspManager();bool startRecordVideo = false;int totalSaveFrameCount = 0;VideoManager vm = null;int startIndex = 0;public Form1(){InitializeComponent();CheckForIllegalCrossThreadCalls = false;}private void btn_connect_Click(object sender, EventArgs e){if(btn_connect.Text=="连接"){if (string.IsNullOrEmpty(tb_rtsp.Text)){tssl_show.Text = "rtsp流地址错误!";return;}rm.Connect(tb_rtsp.Text);if (rm.Connected){tssl_show.Text = "连接成功";btn_connect.Text = "停止";rm.Start();}else{tssl_show.Text = "连接失败";}}else{rm.Stop();rm.DisConnect();btn_connect.Text = "连接";tssl_show.Text = "连接中断!";}}private void Form1_Load(object sender, EventArgs e){rm.GetImage += Rm_GetImage;rm.GetStatus += Rm_GetStatus;}private void Rm_GetStatus(string msg){if(msg=="disconnect"){btn_connect.Text = "连接";btn_video.Text = "开始录像";vm.Dispose();}}private void Rm_GetImage(OpenCvSharp.Mat frame){if(startRecordVideo){startIndex++;if(startIndex>=totalSaveFrameCount){startIndex = 0;var saveFile = GetTimeString() + ".mp4";vm = new VideoManager(saveFile, FourCC.MP4V, rm.Fps, rm.Width, rm.Height);}vm.WriteFrame(frame);}pictureBox1.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(frame);}public string GetTimeString(){return DateTime.Now.ToString("yyyyMMdd-HHmmss_fff");}private void btn_pic_Click(object sender, EventArgs e){if(pictureBox1.Image!=null){var saveFile = GetTimeString() + ".jpg";pictureBox1.Image.Save(saveFile,ImageFormat.Jpeg);tssl_show.Text = "抓拍成功,保存为" + saveFile;}}private void btn_video_Click(object sender, EventArgs e){if(btn_video.Text=="开始录像"){if(btn_connect.Text=="连接"){tssl_show.Text = "请先连接RTSP流!";return;}btn_video.Text = "停止录像";btn_video.Update();Task.Run(() => {totalSaveFrameCount = Convert.ToInt32(tb_interval.Text) * rm.Fps;startIndex = 0;var saveFile = GetTimeString() + ".mp4";vm = new VideoManager(saveFile,FourCC.MP4V,rm.Fps,rm.Width,rm.Height);startRecordVideo = true;});}else{vm.Dispose();startRecordVideo = false;btn_video.Text ="开始录像";}}}
}

视频演示:

C# OpenCvSharp读取rtsp流录制mp4_哔哩哔哩_bilibiliC# OpenCvSharp读取rtsp流录制mp4, 视频播放量 1、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 未来自主研究中心, 作者简介 未来自主研究中心,相关视频:随机地址生成工具1.3.3使用教程,xml转txt工具终结版1.3.1使用教程voc转yolo工具软件教程,相似图片删除工具使用教程快速删除类似图片软件,使用易语言部署yolov8的tensorrt模型,IDM6.422【毛子重新打包版】免激活直装,小白友好,pyqt5离线安装工具IDLE教程自动配置desginer pyuic到pycharm,轻松教你学会如何内置QQ模块~,OCR区域自动识别重命名工具1.1使用教程,实例分割语义分割数据集自动预标注反标注系统之图片自动标注视频演示,给IDLE或anaconda离线安装pyqt5工具教程傻瓜式操作离线安装pyqt5自动配置designer到pycharmicon-default.png?t=N7T8https://www.bilibili.com/video/BV1AG411r7fW/?vd_source=989ae2b903ea1b5acebbe2c4c4a635ee

源码下载地址:

https://download.csdn.net/download/FL1623863129/88673726

相关文章:

C# OpenCvSharp读取rtsp流录制mp4可分段保存

软件界面: 测试环境: VS2019 .NET Framework 4.7.2 OpencvSharp4.8.0 输入RTSP流地址即可拉取RTSP流,支持抓拍和录制RTSP流视频,且支持支持按固定时间保存,比如我想5分钟保存一个视频,设置保存间隔为30…...

Maven的心脏:深入解析settings.xml配置文件

Maven作为Java世界中最著名的构建工具之一,其灵魂所在无疑是那些配置文件。在这些配置文件中,settings.xml扮演着至关重要的角色。今天,我们就来深入剖析这个Maven的心脏部件,看看它如何为我们的项目搏动生命。 一、Maven settin…...

uni静态资源引入及css图片图标引用规范

1、页面组件引入 单页面中的组件引入需经过导入——注册——使用三个步骤&#xff1b; <template><view><!-- 3.使用组件 --><uni-rate text"1"></uni-rate></view> </template> <script>// 1. 导入组件import un…...

API 开放平台项目(已整理,已废弃)

项目大纲 前端 React 18Ant Design Pro 5.x 脚手架Ant Design & Procomponents 组件库Umi 4 前端框架OpenAPI 前端代码生成 后端 Java Spring BootMySQL 数据库MyBatis-Plus 及 MyBatis X 自动生成API 签名认证&#xff08;Http 调用&#xff09;Spring Boot Starter&#…...

魔棒无人直播系统有哪些优势?

随着科技的发展&#xff0c;越来越多新鲜事物的出现&#xff0c;它们代替了我们做很多的事情&#xff0c;开始解放着自己的双手&#xff0c;其中&#xff0c;无人直播的出现&#xff0c;就让直播变得更加简单。 因为是无人直播&#xff0c;所以全程不需要真人出镜&#xff0c;…...

[Flutter]WindowsOS中相关配置

Flutter项目在Windows平台上如何配置 目录 Flutter项目在Windows平台上如何配置 写在开头 正文 1、OS准备 2、编译环境准备 ① 下载AndroidStudio ② 下载dart ③ 下载flutter ④ 下载并安装VS ⑤ 在AS中配置dart和flutter 3、配置中遇到的问题 写在结尾 写在开头…...

[C语言]时间戳

时间戳的概念 时间戳就是定义一个时间点作为0秒, 之后每过一秒依此加一, 将当前的时间戳换算成年月日, 再加上起点, 获得的就是现在时刻的时间. 根据地球时区的偏移, 比如北京时间是东八区, 做一个偏移量的加减. 0起点: 1900年1月1日0时0分0秒. 0偏移地点: 英国伦敦 时间戳…...

Unity游戏资源更新(AB包)

目录 前言&#xff1a; 一、什么是AssetBundle 二、AssetBudle的基本使用 1.AssetBundle打包 2.BuildAssetBundle BuildAssetBundleOptions BuildTarget 示例 3.AssetBundle的加载 LoadFromFile LoadFromMemory LoadFromMemoryAsync UnityWebRequestAsssetBundle 前…...

GPT分区格式

GPT分区格式 [rootlocalhost ~]# gdisk /dev/sdb -bash: gdisk: 未找到命令 [rootlocalhost ~]# yum -y install gdisk- gdisk命令用于查看磁盘使用情况和磁盘分区&#xff08;GPT分区格式&#xff09; - 命令格式&#xff1a;gdisk [选项...] [设备路径] - 常用选项&…...

SVN管理-备份还原篇

背景&#xff1a; 当你没有svn的时候&#xff0c;写代码战战兢兢&#xff0c;又怕代码丢失白干&#xff0c;搞了svn做版本管理&#xff0c;随着时间的推移&#xff0c;所有的版本信息都在唯一的svn服务器&#xff0c;又开始担心服务器宕机&#xff0c;数据丢失问题&#xff0c…...

程序的重定位

可以理解为编译和链接 过程中产生的地址项都是临时的相对的。编译的时候的地址&#xff0c;在链接时会被修改。最终链接后生成的bin文件的地址项&#xff0c;在加载运行时 也会被修改。 链接器会对所有的输入文件进行扫描&#xff0c;之后就可以确定段的大小&#xff0c;符号定…...

【STM32F103】TIM定时器PWM

定时器分类 STM32F1中除了互联型产品&#xff08;STM32F103C8T6为64KB Flash 中容量产品&#xff09;&#xff0c;其余有8个定时器。 可以8个定时器分为高级&#xff0c;通用&#xff0c;基本三种。 高级定时器有两个&#xff0c;分别是TIM1和TIM8。 通用定时器有四个&…...

图论及其应用的一些论断---选择题

在任意一个网络N=(X,Y,I,A,c)中,最大流的值等于最小割的容量。在任意6个人的集会上,要么有3个人互相认识,要么有3个人互不认识。若G为无向简单图,则图G的边数ε,点数v之间有: ε < = ( v 2 ) ε<=\binom{v}{2} ε<=...

腾讯云轻量应用服务器镜像操作系统如何选择?

腾讯云轻量应用服务器镜像怎么选择&#xff1f;镜像是指轻量服务器的操作系统&#xff0c;可以选择宝塔Linux面板8.0.4腾讯云专享版&#xff0c;如果需要Win系统建议选择Windows Server 2012 R2 中文版&#xff0c;腾讯云服务器网txyfwq.com分享腾讯云轻量应用服务器镜像操作系…...

鸿蒙原生应用/元服务开发-发布基础类型通知类型与接口

基础类型通知主要应用于发送短信息、提示信息、广告推送等&#xff0c;支持普通文本类型、长文本类型、多行文本类型和图片类型。 表 基础类型通知中的内容分类 目前系统仅通知栏订阅了通知&#xff0c;将通知显示在通知栏里。基础类型通知呈现效果示意图如下所示。 图1基础类…...

Apisix常见问题

1.通过接口操作路由时X-API-KEY cd /usr/local/apisix/conf vim config-default.yaml注释掉这一部分 #allow_admin: # http://nginx.org/en/docs/http/ngx_http_access_module.html#allow# - 0.0.0.0/24 # If we dont set any IP list, then a…...

Docker 安装Mysql

目录 Docker Mysql安装 ✨安装和配置mysql ✨远程连接mysql远程连接 MySQL 是世界上最流行的开源数据库。根据 DB-Engines的调查数据&#xff0c;MySQL 是第二受欢迎的数据库&#xff0c;仅次于 Oracle 数据库。MySQL在过去由于性能高、成本低、可靠性好&#xff0c;已经成…...

Pillow图像处理(PIL.Image类的详细使用)

文章目录 Opencv、Matplotlib(plt)、Pillow(PIL)、Pytorch读取数据的通道顺序Python图像处理库&#xff08;PIL、Pillow、Scikit-image、Opencv&#xff09;Pillow 官方文档&#xff08;超详细&#xff0c;超推荐&#xff09;一、PIL库与Pillow库的区别二、Pillow库&#xff08…...

嵌入式开发——ADC开发

学习目标 了解ADC开发流程掌握采样方式能够使用ADC进行芯片内部通道进行采样能够使用ADC对外部电路进行采样学习内容 GD32F4的ADC 特点: 16个外部模拟输入通道;1个内部温度传感通道(VSENSE);1个内部参考电压输入通道(VREFINT);1个外部监测电池VBAT供电引脚输入通道。ADC开…...

FreeSWITCH t38测试

主叫 192.168.100.205 被叫 192.168.100.121 主叫侧发送multipage.tif 被叫侧接收传真&#xff0c;保存为recv.tif 主叫侧: originate [fax_enable_t381][fax_verbose1][fax_disable_v170][fax_ident77777777][fax_enable_t38_request1]sofia/internal/1234192.168.100.121:…...

跑腿配送系统技术探析

概述 跑腿配送系统是一种基于现代科技的服务平台&#xff0c;通过智能化的技术手段&#xff0c;实现用户需求的快速响应和高效配送。本文将探讨该系统的核心技术原理&#xff0c;以及在实际开发中的一些代码示例。 技术原理 1. 用户请求与任务分配 跑腿配送系统的第一步是…...

【数据不完整?用EM算法填补缺失】期望值最大化 EM 算法:睹始知终

期望值最大化算法 EM&#xff1a;睹始知终 算法思想算法推导算法流程E步骤&#xff1a;期望M步骤&#xff1a;最大化陷入局部最优的原因 算法应用高斯混合模型&#xff08;Gaussian Mixture Model, GMM&#xff09;问题描述输入输出Python代码实现 算法思想 期望值最大化方法&a…...

PMP证书可以挂靠吗?

PMP证书不是国内的证书&#xff0c;挂靠不了呀&#xff0c;想挂靠&#xff0c;可以考软考/一建等&#xff0c;里面也有项目管理相关的证书。 PMP证书虽然不能挂靠&#xff0c;但是用处还是很大的&#xff0c;例如提升个人能力、薪资待遇&#xff0c;还有持证可享一些城市的福利…...

HTML语义化的理解

HTML语义化是指在编写HTML代码时&#xff0c;合理地选择适当的标签和属性来描述页面的结构和内容&#xff0c;使得代码更具有可读性、可维护性和可访问性。 可读性&#xff1a;通过使用语义化的标签&#xff0c;可以清晰地表达页面的结构和内容&#xff0c;使得代码更易于阅读和…...

(Java企业 / 公司项目)注册,配置中心Nacos的怎么使用?(含相关面试题)(一)

在企业项目中使用Nacos实现的功能操作&#xff0c;以及如何在自己的环境中搭建Nacos环境&#xff0c;包含demo 一. 官网介绍&#xff1a;home (nacos.io) 文档地址&#xff1a;Nacos 快速开始 二. 准备Nacos环境 在公司里面很多的服务以及环境都是自己搭建的所以我在这里就从…...

计算机网络---知识点

ARPANET----NFSNET—ANSNET—Internet发展及协议 移动互联网 物联网 无线自组网、无线传感器网络、无线个域网 ISO/OSI网络体系结构 TCP/IP网络体系结构 对等通信、PDU 电路交换、报文交换、分组报文交换 虚电路、数据报 信道复用技术 网络性能的主要指标&#xff08…...

力扣42. 接雨水

双指针法 思路&#xff1a; 将数组前后设置为 left、right 指针&#xff0c;相互靠近&#xff1b;在逼近的过程中记录两端最大的值 leftMax、rightMax&#xff0c;作为容器的左右边界&#xff1b;更新指针规则&#xff1a; 如果数组左边的值比右边的小&#xff0c;则更新 left…...

SpringSecurity-2.7中跨域问题

SpringSecurity-2.7中跨域问题 访问测试 起因 写这篇的起因是会了解到 SSM(CrosOrigin)解决跨域,但是会在加入SpringSecurity配置后,这个跨域解决方案就失效了,而/login这个请求上是无法添加这个注解或者通过配置(WebMvcConfig)去解决跨域,所以只能使用SpringSecurity提供的.c…...

Java解决字典序最小回文串

Java解决字典序最小回文串 01 题目 给你一个由 小写英文字母 组成的字符串 s &#xff0c;你可以对其执行一些操作。在一步操作中&#xff0c;你可以用其他小写英文字母 替换 s 中的一个字符。 请你执行 尽可能少的操作 &#xff0c;使 s 变成一个 回文串 。如果执行 最少 操…...

【力扣100】207.课程表

添加链接描述 class Solution:def canFinish(self, numCourses: int, prerequisites: List[List[int]]) -> bool:# 思路是计算每一个课的入度&#xff0c;然后使用队列进行入度为0的元素的进出# 数组&#xff1a;下标是课程号&#xff0c;array[下标]是这个课程的入度# 哈希…...

用什么软件做网站好处/企业网站有哪些平台

《.NET Performance Testing and Optimization》学习笔记http://automationqa.com/forum.php?modviewthread&tid1655&fromuid2 转载于:https://www.cnblogs.com/preftest/archive/2013/02/22/2922982.html...

自由贸易试验区网站建设方案/短视频获客系统

1、HOG特征&#xff1a; 方向梯度直方图&#xff08;Histogram of Oriented Gradient, HOG&#xff09;特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像…...

网站规划与网页设计案例/电商网站建设公司哪家好

...

空间设计师网站/网页制作代码大全

http://blog.csdn.net/aspnet2002web/article/details/11484151 转载于:https://www.cnblogs.com/zhengchunhao/p/5688398.html...

邯郸网站制作外包/百度关键词价格查询软件

题目&#xff1a; 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例: 输入&#xff1a;“23” 输出&#xff1a;[“ad”, “ae”, “af”, “bd”, “…...

免费flash网站模板/武汉关键词排名工具

Requests 是一个 Python 的 HTTP 客户端库。Request支持HTTP连接保持和连接池&#xff0c;支持使用cookie保持会话&#xff0c;支持文件上传&#xff0c;支持自动响应内容的编码&#xff0c;支持国际化的URL和POST数据自动编码。在python内置模块的基础上进行了高度的封装&…...