본문 바로가기
프로그래밍/C++

[CPP] opencv에서 rtsp형태로 스트리밍 해보기

by 건우아빠유리남편 2021. 3. 5.
반응형

[C++] opencv에서 rtsp형태로 스트리밍 해보기

Onvif에서는 영상을 가져올 때 rtp 또는 rtsp로 가져온다.
그러면 c++에서는 Onvif의 영상을 가져오기 위해 어떻게 해야할까.
구글링을 해보니 별도 open source lib를 사용하는 방법도 있으며,
잘 알려진 live555 를 사용하기도 했고,
아래와 같이 opencv를 통해 정말 간단히 접속하기도 했다.

#include <opencv/cxcore.h>
#include <opencv/highgui.h>

int main(int ac, char *av[])
{
	cv::Ptr<CvCapture> capture = cvCaptureFromFile("rtsp://admin:admin@192.168.1.30:554/stream2");
	cv::namedWindow("KnVision");
	while(1)
	{
		cv::Mat frame = cvQueryFrame(capture);
		cv::imshow("KnVision", frame);

		if(cv::waitKey(1) >= 0)
		break;
	}
}

 

실시간 스트리밍 프로토콜(Real Time Streaming Protocol, RTSP)은 
스트리밍 미디어 서버를 제어할 목적으로 엔터테인먼트, 통신 시스템에 사용하도록 설계된 네트워크 제어 프로토콜이다. 

RTSP는 세션관리용 프로토콜이다.
RTSP는 TCP를 사용한다.
RTP는 TCP 혹은 UDP를 사용할 수 있지만 주로 UDP를 사용한다.
대부분 RTP는 라이브 스트리밍을 위한 전송을 하기 때문에 UDP를 많이 사용하게 된다.

반응형

댓글