使用openCv创建通用URL以显示IP摄像机

Create generic URL to display IP camera using openCv

本文关键字:显示 IP 摄像机 URL openCv 创建 使用      更新时间:2023-10-16

我有一个应用程序,可以显示来自IP Camera的实时视频。我目前拥有两个摄像头CP Plus IP摄像头和D-Link DCS-932l我使用的代码如下。

#include <stdio.h>
#include <opencv2/opencv.hpp>

int main(){
CvCapture *camera=cvCaptureFromFile("http://admin:admin@172.41.20.76/axis-cgi/mjpg/video.cgi?resolution=640x480&req_fps=30&.mjpg");
if (camera==NULL)
    printf("camera is nulln");
else
    printf("camera is not null");
cvNamedWindow("img");
while (cvWaitKey(10)!=atoi("q")){
    double t1=(double)cvGetTickCount();
    IplImage *img=cvQueryFrame(camera);
    /*if(img){
        cvSaveImage("C:/opencv.jpg",img);
    }*/
    double t2=(double)cvGetTickCount();
    printf("time: %gms  fps: %.2gn",(t2-t1)/(cvGetTickFrequency()*1000.), 1000./((t2-t1)/(cvGetTickFrequency()*1000.)));
    cvShowImage("img",img);
}
cvReleaseCapture(&camera);
}

该URL适用于CP Plus IP摄像机。但当我在URL中更改d链接相机的用户名、密码和IP地址时,我会得到CvCapture相机的NULL;如何可能制作通用URL。需要所有专家的帮助。我使用的是VS2010和c++,OpenCv。提前谢谢。

RTSP摄像机没有通用的SDP路径/URL。每个特定的模型都会响应其特定的位置,有或没有分辨率、速率等指定符。有些相机支持多个流,有或无音频、有或无元数据等等

对于D-Link DCS-932l,您需要参考其RTSP参考或其他文档,或者如果其web客户端使用RTSP进行传输,则需要使用网络嗅探器来检测细节。

另请参阅:

  • IP摄像机RTSP地址