IP 카메라로부터 물체 인식을 하는 과정에 대해 공부를 하는 중

Streaming 대표 프로토콜인 RTSP에 대해 알아보려 한다.

두 엔드 포인트 간의 오디오/비디오 전송을 제어하고, 인터넷에서 지연 시간이 짧은 스트리밍 콘텐츠 전송을 용이하게 하는데 사용한다.

IP 카메라, IP TV에서 RTSP를 사용한다. 더 자세히 알아보자.

 

 

RTSP 란?

RTSP(Real Time Streaming Protocol)는 우리말로 실시간 스트리밍 프로토콜이다.

 

RTSP는 Pause, Play 등의 기능을 통해 스트리밍 서버에게 명령을 내리는 데 사용되는 어플리케이션 계층(L7) 프로토콜이다.

RTSP 서버는 RTCP(Real-Time Control Protocol)와 RTP(Real-Time Protocol)를 활용하여 실제 스트리밍 데이터를 이동시킨다.

예를들어 사용자가 핸드폰을 사용하고 있고, RTSP를 사용하여 IP 카메라에서 비디오 스트림을 시작하면, 핸드폰은 스트리밍 서버(카메라)에게 RTSP 요청을 보낸다. 그러면 SETUP 프로세스를 시작하고, 그 다음 RTP를 이용해 비디오/오디오 데이터가 스트리밍 서버(카메라)에서 핸드폰으로 전달된다. 따라서 RTSP를 미디어 스트리밍을 위한 텔레비전 리모컨으로 생각할 수 있고, RTP는 데이터를 전송하는 역할을 한다.

 

이러한 RTSP 기술로 IP 카메라, IP TV의 보급이 이루어지며 외부에서 촬영된 영상을 TV에서 볼 수 있고, IP 카메라의 경우 모바일에서 카메라의 영상을 볼 수 있게 되었다.

 

 

RTSP의 특징

RTSP는 HTTP와 유사한 클라이언트-서버 구조로 동작을 한다.

HTTP는 Stateless(비상태) 프로토콜이며, RTSP는 Stateful(상태) 프로토콜이다.

Stateless는 이전의 요청과 무관하게 각각의 요청에 대해 독립적이다. 즉, 하나의 요청을 하면 하나의 응답만 한다.

과거 트랜잭션에 대한 것들은 따로 저장되지 않아 각각의 세션들은 처음부터 시작된다,.

Stateful은 이에 반해 트랜잭션이 중단되더라도, 중단된 곳 까지의 내역을 저장하고, 다시 시작할 경우, 저장된 곳 부터 다시 시작한다.

보통 TCP를 사용하고, RTSP는 Port# 554를 사용한다.

 

다지점-다수개의 콘텐츠 세션의 설정과 제어가 RTSP에서 가능하여 다지점 스트리밍 운영을 위한 기반을 제공한다.

 

 

RTSP 명령어

 

아래의 사진은 RTSP의 기본적인 요청 명령어인

OPTION, DESCRIBE, SETUP, PLAY, PAUSE, TEARDOWN 요청 명령어 흐름을 나타낸 것이다.

 

 

 

 

참고 : https://mingtrace.tistory.com/442