OpenCvSharp 打开rtsp视频并录制mp4文件
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文件的更多相关文章
- H264视频编码成MP4文件
firehood的专栏 Wince嵌入式开发 目录视图 摘要视图 订阅 赠书 | AI专栏(AI圣经!<深度学习>中文版) 每周荐书:Kotlin.分布式.Keras ...
- 工具---《.264视频 转成 MP4视频》
<.264视频 转成 MP4视频> 安装了“爱奇艺万能播放器”可以打开.264视频,但是opencv却不能直接读取.264视频,还是需要想办法“.264视频 转成 MP4/avi视频”. ...
- EasyRTMP实现Demux解析MP4文件进行rtmp推送实现RTMP直播功能
本文转自EasyDarwin团队Kim的博客:http://blog.csdn.net/jinlong0603/article/details/52965101 前面已经介绍过EasyRTMP,这里不 ...
- 使用WebEx录制视频并转换为MP4
1.下载并安装WebEx http://www.question-defense.com/wp-content/uploads/2010/05/ateditor-version-3.0.zip 2.打 ...
- FFmpeg(2)-avformat_open_input()函数详解并示例打开mp4文件
一. 解封装 pts 是显示的时间 dts是解码的时间, 这个时间是用来做同步. av_register_all(), 注册所有的格式.包括解封装格式和加封装格式. avformat_network_ ...
- 使用Flash Media Server(FMS)录制mp4格式的视频
最近在做一个有关视频直播和点播的项目,客户的一个需求就是可以控制对直播流的录制,直播的实现采用的是Adobe的Flash Media Server,具体方式就是:视频采集端采集视频并编码->rt ...
- ffmpeg学习(二) 通过rtsp获取H264裸流并保存到mp4文件
本篇将使用上节http://www.cnblogs.com/wenjingu/p/3977015.html中编译好的库文件通过rtsp获取网络上的h264裸流并保存到mp4文件中. 1.VS2010建 ...
- Android 音视频开发(五):使用 MediaExtractor 和 MediaMuxer API 解析和封装 mp4 文件
一个音视频文件是由音频和视频组成的,我们可以通过MediaExtractor.MediaMuxer把音频或视频给单独抽取出来,抽取出来的音频和视频能单独播放: 一.MediaExtractor API ...
- JavaCV推流实战(MP4文件)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- JavaCV的摄像头实战之六:保存为mp4文件(有声音)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
随机推荐
- C# 和 SQL Server中 PadLeft和PadRight 的用法
C# 中 PadLeft和PadRight 的用法 需求:需要一个字符串实现自增.是根据数据库中一个自增的int类型的值,实现自增的.但是要加上前缀.比如,数据库中有一个自增的值,为,2.那么这个自增 ...
- VLC 播放完毕后自动退出的问题
1.打开设置 2.打开全部显示 3.取消自动退出
- Java 提取字符串中xml格式内容
@ 目录 前言 简介 总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i. 提示:以下是本篇文章正文内容,下面案例可供参考 简介 在Java中,使用正则表达式来提取字符串中的XML格 ...
- Microsoft Build 2022 专家对话
Microsoft Build 2022 专家对话 Build 2022 专家对话地址:https://mybuild.microsoft.com/en-US/sessions/81056450-6f ...
- Idea 避免import *
File -> setting -> Editor -> Code Style -> Java -> Imports
- 冒泡排序------python实现
if __name__ == '__main__': ''' 算法描述 1.比较相邻的元素,更具大小交互位置 2.对每一对相邻元素作同样的工作,从开始第一队到结尾的最后一对,即可选出最大的数 3.所有 ...
- Qt编写安防视频监控系统29-掉线重连
一.前言 掉线重连在很早很早以前就做了,基本上的方法都是搞个变量存储最后收到图片的时间,然后开个定时器判断,如果不在暂停模式下,当前时间和最后收到图片的时间差值超过了设定的超时时间,比如5s则认为掉线 ...
- Selenium 自动化浏览器,解决懒加载的网页获取问题
Selenium 自动化浏览器,解决懒加载的网页获取问题.可以用于爬虫这些 在使用 Selenium WebDriver 进行自动化测试时,可以通过设置日志级别来控制输出的日志信息.在 C# 中,可以 ...
- WxPython跨平台开发框架之复杂界面内容的分拆和重组处理
复杂界面内容的分拆和重组处理是现代软件开发中常见的做法,尤其在开发大型应用程序时,可以大幅提升开发效率.可维护性和用户体验.通过将复杂的界面内容分拆成更小的模块,每个模块都专注于单一功能或组件,代码更 ...
- 得物自研客服IM中收发聊天消息背后的技术逻辑和思考实现
本文由得物技术WWQ分享,原题"客服发送一条消息背后的技术和思",本文有修订和改动. 1.引言 在企业IM客服场景中,客服发送一条消息的背后,需要考虑网络通信.前端展示.后端存储以 ...