Emgu.CV 播放视频-本地文件/RTSP流
using Emgu.CV;
using System;
using System.Drawing;
using System.Threading;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
Emgu.CV.Capture cap;
public Form1()
{
InitializeComponent();
//cap = new Emgu.CV.Capture("F:\\test.avi");
cap = new Emgu.CV.Capture("rtsp://192.168.1.6.............");
cap.ImageGrabbed += capture_ImageGrabbed;
cap.Start();
}
private delegate void SetPicVideo(Bitmap val);//跨线程修改图片框
private object lockObj = new object();
private Thread SetPicVideoThread;
Bitmap bmpVideo = null;
private void capture_ImageGrabbed(object sender, EventArgs e)
{
try
{
Mat frame = new Mat();
//lock (lockObj)
{
if (cap != null)
{
if (!cap.Retrieve(frame))
{
frame.Dispose();
return;
}
if (frame.IsEmpty)
return;
bmpVideo = frame.Bitmap;
SetPicVideoThread = new Thread(new ThreadStart(setPicVideo));
SetPicVideoThread.IsBackground = true;
SetPicVideoThread.Start();
}
}
//frame.Dispose();
}
catch (Exception ex)
{
}
}
void SetPic(Bitmap val)
{
if (val != null)
{
this.pictureBox1.Image = val;
}
}
private void setPicVideo()
{
if (pictureBox1.InvokeRequired)
{
SetPicVideo d = new SetPicVideo(SetPic);
object[] arg = new object[] { bmpVideo };//要传入的参数值
this.Invoke(d, arg);
}
else
{
SetPic(bmpVideo);
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
cap.Stop();
}
}
}
Emgu.CV 播放视频-本地文件/RTSP流的更多相关文章
- Emgu.CV 播放视频
using Emgu.CV; using System; using System.Drawing; using System.Threading; using System.Windows.Form ...
- Emgu CV播放视频
public partial class Form1 : Form { Capture _capture; public Form1() { Initializ ...
- Open CV 播放视频(2)
演示:读取一个视频,然后播放,ESC退出. #include "stdafx.h" #include <opencv2/core/core.hpp> # ...
- Windows平台Unity3d播放多路RTMP或RTSP流
好多开发者在做AR.VR或者教育类产品时,苦于如何在windows平台构建一个稳定且低延迟的RTSP或者RTMP播放器,如果基于Unity3d完全重新开发一个播放器,代价大.而且周期长,不适合快速出产 ...
- ffmpeg处理rtmp/文件/rtsp的推流和拉流
ffmpeg处理rtmp/文件/rtsp的推流和拉流 本demo演示了利用ffmpeg从服务器拉流或本地文件读取流,更改流url或文件类型名称发送回服务器或存到本地的作用. 由于本程序只写了3个小 ...
- 用vlc SDK创建一个播放视频文件和RTSP流视频的Demo
#include <stdio.h> #include <tchar.h> #include <time.h> #include <windows.h> ...
- javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- web网页中使用vlc插件播放相机rtsp流视频
可参考: 使用vlc播放器做rtsp服务器 使用vlc播放器播放rtsp视频 使用vlc进行二次开发做自己的播放器 vlc功能还是很强大的,有很多的现成的二次开发接口,不需配置太多即可轻松做客户端播放 ...
- [工具]利用EasyRTSPClient工具检查摄像机RTSP流不能播放原因以及排查音视频数据无法播放问题
出现问题 我们在做流媒体开发的过程中,进程会出现摄像机RTSP流莫名其妙无法播放的问题,而我们常用的vlc经常是直接弹出一个无法播放的提示框就完事了,没有说明出错的原因,或者在vlc的消息里面能看到日 ...
随机推荐
- 在Linq to sql 和 Entity framework 中使用lambda表达式实现left join
在Linq to sql 和 Entity framework 中使用lambda表达式实现left join 我们知道lambda表达式在Linq to sql 和 Entity framework ...
- hdu-6165(tarjan+topusort)
题意:一个有向图,无自环,无重边,让你判断这个图内的任意两点是否有路: 解题思路:首先,判断两个点是否可达一般用出入度来判断,如果在拓扑排序中同时有两个及以上入度同时为零的点,那么,这些入度的为零的点 ...
- Nginx 网络事件
L27-29 应用层(如浏览器等一系列组成的发送get请求) 传输层 系统内核打开一个端口将客户端IP及端口和服务端IP及端口记录下来一并传输到网络层 网络层 打包后到链路层 再到客户端路由器至广域网
- JSON笔记
JSPN示例1: { "firstName": "Brett", "lastName":"McLaughlin", &q ...
- jsp大学课程hi实验:分页在线测评(session的使用)
project_1_updata_1_1.jsp <%@ page contentType="text/html;charset=utf-8" language=" ...
- 【BZOJ3669】【NOI2014】魔法森林 LCT
题目描述 给你一个\(n\)个点\(m\)条边的图,每条边有两个边权\(a,b\).请你找出从\(1\)到\(n\)一条路径,使得这条路径上边权\(a\)的最大值\(+\)边权\(b\)的最大值最小. ...
- 我的POI代码库(持续更新)
添加的maven依赖是 <poi.version>3.15</poi.version> ... <dependency> <groupId>org.ap ...
- ELK部署详解--kibana
kibana.yml # Kibana is served by a back end server. This setting specifies the port to use.#端口server ...
- Apache虚拟主机+AD压力测试
<Directory "/usr/local/awstats/wwwroot"> Options NoneAllowOverride None Order allow, ...
- [APIO2008]免费道路(生成树)
新亚(New Asia)王国有 N 个村庄,由 M 条道路连接.其中一些道路是鹅卵石路,而其它道路是水泥路.保持道路免费运行需要一大笔费用,并且看上去 王国不可能保持所有道路免费.为此亟待制定一个新的 ...