public class OpenCvSharpUtils
{
private VideoCapture Capture;
private VideoWriter VideoWriter;
private PictureBox PictureBox;
private bool StopFlag = false;
private bool SaveFlag = false; //
public void OpenVideo(string rtspUrl,PictureBox PictureBox)
{
Capture = new VideoCapture(rtspUrl);
int time = Convert.ToInt32(Math.Round(1000 / Capture.Fps));
while (!StopFlag)
{
if (Capture == null || Capture.IsDisposed)
{
continue;
}
Mat mat = new Mat();
bool res = Capture.Read(mat);//会阻塞线程
if (!res || mat.Empty())
{
continue;
}
if (SaveFlag && VideoWriter != null)
{
VideoWriter.Write(mat);
}
if (PictureBox != null)
{
System.Drawing.Image image = PictureBox.Image;
PictureBox.Image = BitmapConverter.ToBitmap(mat);
if (image != null)
{
image.Dispose();//释放以前的图片,不然吃内存
}
}
Cv2.WaitKey(time); mat.Dispose();
}
Capture.Dispose();
} public void CloseVideo()
{
StopFlag = true;
} public bool StartRecord(string videoFullPath)
{
if (Capture == null || Capture.IsDisposed)
{
return false;
}
VideoWriter = new VideoWriter(videoFullPath,FourCC.MPG4,Capture.Fps,new Size(Capture.FrameWidth,Capture.FrameHeight));
SaveFlag = true;
return true;
} public bool StopRecord()
{
SaveFlag = false;
if (VideoWriter != null && !VideoWriter.IsDisposed)
{
VideoWriter.Dispose();
VideoWriter = null;
}
return true;
}
}

OpenCvSharp 打开rtsp视频并录制mp4文件的更多相关文章

  1. H264视频编码成MP4文件

    firehood的专栏 Wince嵌入式开发       目录视图 摘要视图 订阅 赠书 | AI专栏(AI圣经!<深度学习>中文版)      每周荐书:Kotlin.分布式.Keras ...

  2. 工具---《.264视频 转成 MP4视频》

    <.264视频 转成 MP4视频> 安装了“爱奇艺万能播放器”可以打开.264视频,但是opencv却不能直接读取.264视频,还是需要想办法“.264视频 转成 MP4/avi视频”. ...

  3. EasyRTMP实现Demux解析MP4文件进行rtmp推送实现RTMP直播功能

    本文转自EasyDarwin团队Kim的博客:http://blog.csdn.net/jinlong0603/article/details/52965101 前面已经介绍过EasyRTMP,这里不 ...

  4. 使用WebEx录制视频并转换为MP4

    1.下载并安装WebEx http://www.question-defense.com/wp-content/uploads/2010/05/ateditor-version-3.0.zip 2.打 ...

  5. FFmpeg(2)-avformat_open_input()函数详解并示例打开mp4文件

    一. 解封装 pts 是显示的时间 dts是解码的时间, 这个时间是用来做同步. av_register_all(), 注册所有的格式.包括解封装格式和加封装格式. avformat_network_ ...

  6. 使用Flash Media Server(FMS)录制mp4格式的视频

    最近在做一个有关视频直播和点播的项目,客户的一个需求就是可以控制对直播流的录制,直播的实现采用的是Adobe的Flash Media Server,具体方式就是:视频采集端采集视频并编码->rt ...

  7. ffmpeg学习(二) 通过rtsp获取H264裸流并保存到mp4文件

    本篇将使用上节http://www.cnblogs.com/wenjingu/p/3977015.html中编译好的库文件通过rtsp获取网络上的h264裸流并保存到mp4文件中. 1.VS2010建 ...

  8. Android 音视频开发(五):使用 MediaExtractor 和 MediaMuxer API 解析和封装 mp4 文件

    一个音视频文件是由音频和视频组成的,我们可以通过MediaExtractor.MediaMuxer把音频或视频给单独抽取出来,抽取出来的音频和视频能单独播放: 一.MediaExtractor API ...

  9. JavaCV推流实战(MP4文件)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  10. JavaCV的摄像头实战之六:保存为mp4文件(有声音)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

随机推荐

  1. C# 学习笔记 0415

    关于零碎的知识笔记总结,你可能需要知道的 一.Linq相关 Find()和First()与FirstOrDefault Find方法只能在List上使用,而后者能更广泛应用在IEnemerable上. ...

  2. chrome浏览器设置允许跨域

    前情 在访问测试搭建的测试环境的时候,发现接口因为跨域全部失败了,服务端又不想设置允许跨域,又急于使用,于是想到是不是可以使用跨域浏览器 放开chrome的跨域设置步骤 复制一个chrome快捷图标, ...

  3. Qt编写手机端视频播放器/推流工具/Onvif工具

    一.视频播放器 同时支持多种解码内核,包括qmedia内核(Qt4/Qt5/Qt6).ffmpeg内核(ffmpeg2/ffmpeg3/ffmpeg4/ffmpeg5/ffmpeg6).vlc内核(v ...

  4. Windows上使用CMake GUI编译开源代码时,提示:cmake Could NOT find ZLIB (missing:ZLIB_LIBRARY)和Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR)的处理办法

    有的时候就算在CMake GUI中配置完ZLIB_LIBRARY和PNG_LIBRARY和PNG_PNG_INCLUDE_DIR等相关路径,还是提示上述错误.原因还是由于编译某源码时遗漏了对第三方开源 ...

  5. DVWA靶场Insecure CAPTCHA(不安全验证)漏洞所有级别通关教程及源码审计

    Insecure CAPTCHA(不安全验证) Insecure CAPTCHA(不安全验证)漏洞指的是在实现 CAPTCHA(完全自动化公共图灵测试区分计算机和人类)机制时,未能有效保护用户输入的验 ...

  6. Windows下的GDAL环境配置

    Windows下的GDAL环境配置 在Windows下GDAL环境的配置方式有很多种,我尝试了很多不同的配置方式,包括Anaconda. GISInternals.QGIS.OSGeo4W等, 我这里 ...

  7. 《入梦》Revisited

      寝室里有本<美丽新世界>(Brave New World),书页翻过灯塔里上升的螺旋阶梯,还有大概三分之一的篇幅是<重返美丽新世界>(Brave New World Rev ...

  8. 搭建springboot web系统

    一.集成spring-data-jpa 我在实际项目中使用mybaties居多,但是个人喜欢spring-data-jpa,在 1. 添加依赖 <!-- 数据源依赖 --> <dep ...

  9. c# set Webbowser version with WPF/Winform app

    <Window x:Class="TestWPF.MainWindow" xmlns="http://schemas.microsoft.com/winfx/200 ...

  10. Protocol Buffer 使用-copy

    概述Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化.它很适合做数据存储或 RPC 数据交换格式.可用于通讯协议.数据存储等领域的语言无关. ...