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的消息里面能看到日 ...
随机推荐
- How to create ISO on macOS
hdiutil makehybrid -iso -joliet -o test1.iso /users/test/test1
- JavaScript 使用 toJSON 方法格式化日期
toJSON 方法可以将 Date 对象转换为 ISO-8601 标准的字符串:YYYY-MM-DDTHH:mm:ss. sssZ var date = new Date(); // toJSON() ...
- c++中结构体sort()排序
//添加函数头 #include <algorithm> //定义结构体Yoy typedef struct { double totalprice; //总价 doubl ...
- Civil 3D 二次开发 新建CLR项目出现错误C2143
新建CLR项目出现错误C2143 按照Objectarx Training创建.net混合项目,编译时出现一下错误: 原因不明: 解决方法: 在Stdafx.h文件中添加: #define WIN32 ...
- 4、new一个对象的时候,初始化顺序:
父类静态块>子类静态块> 父类属性(先系统默认值,后直接你赋予的值) >父类构造器>子类属性>子类构造器
- B - I Hate It HDU - 1754 线段树区间最大值板子(单点更新,区间最大)
第一次打 改了半天 各种小错误 难受 #include<cstdio> #include<iostream> using namespace std; +; int a[ma ...
- 使用python和selenium写一个百度搜索的case
今天练习的内容主要写了一个小功能,在百度上搜索某词汇,然后实现web上的back功能 代码如下: import unittest from selenium import webdriver from ...
- jqGrid 手册 - 搜索
搜索 类型: colModel Options Toolbar Searching Custom Searching Single field searching Advanced Searching ...
- MT【246】方程根$\backsim$图像交点
已知函数$f(x)=x^2+x-2$,若$g(x)=|f(x)|-f(x)-2mx-2m^2$ 有三个不同的零点,则$m$的取值范围_____ 分析:等价于$h(x)=|f(x)|-f(x),t(x) ...
- HR_Hash Tables: Ransom Note
1 题目重点:whole words | case-sensitive #!/bin/python3 import math import os import random import re imp ...