opencv3接收rtsp网络视频流
来源:互联网 发布:淘宝怎么联系卖家售后 编辑:程序博客网 时间:2024/05/23 16:03
项目需要,最近在研究网络摄像头视频流的接收。之前用的vlc,操作简单,接收效果特别好,略有延迟,而且vlc是开源的!!!如果代码能力有点强悍,可以自己改写。
可是呢,可是呢,这又会是个比较大的工程对不对,懒人有懒人的办法,利用opencv自带函数接收rtsp视频流的功能,opencv2和opencv3代码都在这里,以下:
Opencv2:
#include "opencv2/opencv.hpp"
#include"opencv2/core/core.hpp"
#include<opencv2/video/video.hpp>
#include"opencv2/highgui/highgui.hpp"
#include<fstream>
#include<iostream>
//作者的opencv版本3.0,所以代码是2.x版本,包含的包是3.0的包
using namespace cv;
using namespace std;
int main(int argc,char **argv){
IplImage *pFrame = NULL, *srcImage=NULL;
CvCapture *pCapture = NULL;
pCapture =cvCreateFileCapture("rtsp://0.0.0.1/stream1");//your own rtsp address
if(!pCapture){
printf("Can not get the videostream from the camera!\n");
return NULL;
}
doublerate=cvGetCaptureProperty(pCapture,CV_CAP_PROP_FPS);
CvSize size=cvSize((int)cvGetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_WIDTH),(int)cvGetCaptureProperty(pCapture,CV_CAP_PROP_FRAME_HEIGHT));
CvVideoWriter*writer=cvCreateVideoWriter("videotest.avi",CV_FOURCC('M','J','P','G'),rate,size);
while(1){
pFrame = cvQueryFrame(pCapture);
srcImage=cvCloneImage(pFrame);
cvWriteFrame(writer,srcImage);
cvShowImage("123234",srcImage);
//cout<<pFrame->width<<","<<pFrame->height<<endl;
cvWaitKey(30);
cvReleaseImage(&srcImage);
srcImage=NULL;
}
cvReleaseCapture(&pCapture);
cvReleaseImage(&pFrame);
return 0;
}
Opencv3:
#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
VideoCapturecap;
cap.open("rtsp://0.0.0.1/stream1");//呵呵,就这一句关键
MatCamera_CImg;
MatCamera_GImg;
cap.set(CV_CAP_PROP_FRAME_HEIGHT,768);
cap.set(CV_CAP_PROP_FRAME_WIDTH,1024);
if (!cap.isOpened())
return 1024;
while (1)
{
cap>> Camera_CImg;
if(Camera_CImg.empty())
break;
cvtColor(Camera_CImg,Camera_GImg, CV_RGB2GRAY);
imshow("input", Camera_CImg);
if (cvWaitKey(10) == 'q')
break;
}
system("pause");
return 0;
}
- opencv3接收rtsp网络视频流
- 开源项目live555接收rtsp视频流总结
- live555 接收rtsp视频流详细源码流程详细解析
- live555 接收rtsp视频流详细源码流程详细解析
- Qt基于ffmpeg的rtsp视频流接收播放工具
- live555 接收rtsp视频流流程分析
- live555 接收rtsp视频流流程分析
- live555 接收rtsp视频流流程分析
- RTSP协议应用实时网络传送视频流
- Android使用VideoView播放网络、rtsp码流视频
- Live555教程------live555 接收rtsp视频流详细源码流程详细解析(二)
- vlc接收rtsp视频流然后存到opencv mat中
- OpenCV读取RTSP视频流
- 网页播放rtsp视频流
- live555 接收客户端连接及rtsp交互---网络连接处理及RTSP连接模块
- live555 接收客户端连接及rtsp交互---网络连接处理及RTSP连接模块 .
- live555 接收客户端连接及rtsp交互---网络连接处理及RTSP连接模块
- WEBRTC音视频接收(从网络接收RTP包到组帧)
- 《linux学习》之用户管理
- 华为OTT交流材料
- AngularJS ng-model获取不到WdatePicker值的解决方案
- Selenium+PhantomJS自动续借图书馆书籍(下)
- 晨昏线
- opencv3接收rtsp网络视频流
- win10背景色改成豆沙绿 锁屏后失效修改方式
- IDE工具的逻辑结构
- freemarker函数功能的使用之时间处理
- Android开发——查询/卸载手机里的应用、应用图标创建
- OTT业务开放平台介绍
- 两种方法教你在Ubuntu下轻松关闭触摸板(TinkPad)
- HDMI 2.0概述
- yum 源 (2)