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 ...
随机推荐
- ChatGPT在功能测试用例生成方面的优势
功能测试是软件测试的非常重要的分类,所有软件系统都要保证功能的正确性,而测试用例则是功能测试的重中之重.测试用例的编写是测试人员必须认真面对的一件耗时费力.枯燥乏味的工作.如何才能快速高效地编写测试用 ...
- 一图归纳三大种类矩阵范数:诱导范数,元素范数,Schatten范数,涵盖谱范数,2范数
转载自:https://blog.csdn.net/qq_27261889/article/details/87902480
- powershell禁止系统运行脚本
错误信息: set-executionpolicy remotesigned set-executionpolicy : Windows PowerShell 已成功更新你的执行策略,但在更具体的作业 ...
- eShopOnContainer 中 unauthorized_client error 登录错误处理
在准备好 eShopOnContainer 环境,运行起来之后,不幸的是,我遇到了不能登录的错误. 从错误信息中,可以看到 unauthorized_client 的内容.这是为什么呢? 从 eSho ...
- 用 16G 内存存放 30亿数据(Java Map)转载
在讨论怎么去重,提出用 direct buffer 建 btree,想到应该有现成方案,于是找到一个好东西: MapDB - MapDB : http://www.mapdb.org/ 以下来自:ko ...
- Redis反序列化LocalDateTime时报错
今天在整合redis和spring boot的时候,遇到了一个错误,记录一下. 报错如下: Could not read JSON: Cannot construct instance of `jav ...
- 龙哥量化:代写技术指标,通达信ZIG函数优化改进之字转向,高点用最高价,低点用最低价
如果您需要代写技术指标公式, 请联系我. 龙哥QQ:591438821 龙哥微信:Long622889 N:=50; A1:ZIG(3,N/10); 代码只有两行,参数是50,表示涨幅5%,在调参数时 ...
- Qt/C++音视频开发54-视频监控控件的极致设计
一.前言 跌跌撞撞摸爬滚打一步步迭代完善到今天,这个视频监控控件的设计,在现阶段水平上个人认为是做的最棒的(稍微自恋一下),理论上来说应该可以用5年不用推翻重写,推翻重写当然也是程序员爱干的事情,这个 ...
- Qt音视频开发30-qmedia内核qt4方案phonon播放(支持视频流)
一.前言 在Qt4中如果需要播放视频,一般用phonon多媒体框架,这应该就是Qt5/Qt6中多媒体框架的前身(查阅qmultimedia模块的相关代码可以发现架构几乎雷同,除了部分命名变了以外),p ...
- Qt通用方法及类库9
函数名 //字节数组转Ascii字符串 static QString byteArrayToAsciiStr(const QByteArray &data); //16进制字符串转字节数组 s ...