실시간 스트리밍 프로토콜

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

실시간 스트리밍 프로토콜(Real Time Streaming Protocol, RTSP)은 IETF가 1998년에 개발한 통신 규약이다. RFC 2326에 정의되어 있다. RTSP는 스트리밍 시스템에 사용되며, 미디어 서버를 원격으로 제어할 때 쓰인다. 명령어는 "PLAY", "PAUSE" 같이 VCR 동작하고 비슷하며 시간 정보를 바탕으로 서버에 접근을 한다.

실제 미디어 스트리밍 데이터를 전송하지는 않는다. 대부분의 RTSP 서버는 RTP 규약을 사용해서 전송 계층으로 실제 오디오/비디오 데이터를 전송한다.

클라이언트[편집]

RTSP 명령어[편집]

RTSP 규약은 HTTP 규약하고 비교해 볼 때, 문법이나 동작이 비슷하다. 하지만, HTTP 가 무상태형(stateless)인 반면에 RTSP는 상태형(stateful) 규약이다. 임의의 세션 ID는 세션 추적할 때마다 사용되는데, 이 방법은 영구 TCP 연결을 필요로 한다. RTSP 메시지는 클라이언트에서 서버로 간다. 만약, 서버에서 오류가 발생한다면 서버는 오류에 대한 응답 코드를 클라이언트로 보내준다. 기본적인 RTSP 요청 메시지는 아래와 같고, 기본 포트는 554번이다.

DESCRIBE
DESCRIBE 요청에는 URL (rtsp://...)이 포함된다. 기본 포트 554번은 UDP, TCP 둘 다에 사용된다. DESCRIBE에 대한 응답 메시지에는 요청한 것에 대한 설명도 포함되는데, 대개 SDP 형태를 갖추고 있다.
SETUP
SETUP 요청은 단일 미디어 스트림이 전송되어야 하는지 규정한다. 이 요청은 PLAY 요청 하기 전에 마쳐야한다. 그리고 요청할 때 미디어 스트림 URL과 전송점을 포함해야 한다. 전송점에는 RTP 데이터(오디오/비디오), RTCP 데이터(메타 정보)를 전송받기 위한 포트 번호도 포함된다.
PLAY
PLAY 요청은 하나 또는 모든 미디어 스트림을 재생시킨다. PLAY 명령은 다중 요청이 가능하다. 모든 미디어 스트림 재생을 위해서는 URL 집합체가 요청에 포함되어야 한다. 재생 범위를 구체적으로 지정할 수도 있다. 만약에 재생 범위를 지정하지 않으면, 미디어 처음부터 끝까지 재생한다. 또, 일시 정지 상태라면 일시 정지된 위치부터 재생 된다.
PAUSE
PAUSE 요청은 하나 또는 모든 미디어 스트림에 대해서 일지 중지를 명령한다. PLAY 요청으로 다시 재시작 할 수 있다. 이 요청 메시지에는 미디어 스트림 URL이 포함되어야 한다. 일시 정지를 할 때 범위를 구체적으로 지정할 수도 있다.
RECORD
RECORD 요청은 녹화를 위한 명령어이다.
TEARDOWN
TEARDOWN 요청은 세션을 종료하기 위한 명령어이고, 모든 미디어 스트림의 재생을 중단하고 서버에 있는 관련 데이터에 걸린 모든 세션도 해제한다.

서버[편집]

같이 보기[편집]

바깥 고리[편집]

  • RTSP.org RTSP 정보 집체 사이트
  • RFC 2326, Real Time Streaming Protocol (RTSP).
  • RFC 3550, RTP: A Transport Protocol for Real-Time Applications.