개요
리얼 타임 메시징 프로토콜(Real-Time Messaging Protocol, 약칭 RTMP)은 어도비(Adobe Systems)에서 개발한 스트리밍 전용 네트워크 프로토콜이다. 주로 비디오·오디오 데이터를 인터넷을 통해 실시간으로 전송하기 위해 사용된다. RTMP는 TCP 기반이며, 플래시 플레이어와 같은 클라이언트와 서버 간에 지속적인 연결을 유지하면서 데이터를 전송한다.
역사
- 2002년: 어도비가 플래시 스트리밍 기술의 일환으로 RTMP를 공개하였다.
- 2005년: RTMP에 대한 사양이 Adobe® Flash Media Server에 포함되면서 상용 스트리밍 서비스에 널리 도입되었다.
- 2010년대 이후: HTML5와 HTTP 기반 스트리밍(HLS, DASH)의 부상으로 RTMP의 활용이 감소했지만, 여전히 라이브 스트리밍 업로드와 인코딩 단계에서 중계 프로토콜로 사용된다.
기술적 특징
| 구분 | 내용 |
|---|---|
| 전송 계층 | TCP(전송 제어 프로토콜) 기반, 포트 1935가 기본 |
| 세션 관리 | 지속적인 연결을 유지하며, 클라이언트와 서버가 각각 “핸드쉐이크”(handshake) 과정을 수행 |
| 패킷 구조 | 3가지 채널(제어, 오디오, 비디오)로 구분되며, 각 채널은 메시지 헤더와 페이로드로 구성 |
| 전송 방식 | 실시간 전송을 목표로 최소 지연(latency) 확보; 데이터는 청크(chunk) 단위로 전송 |
| 보안 | RTMPS(SSL/TLS 위에 구현)와 RTMPE(암호화된 비표준 구현) 등이 존재 |
주요 사용 사례
-
라이브 스트리밍 업로드
- 방송사·개인 스트리머가 인코더(OBS, XSplit 등)를 통해 RTMP를 사용해 스트리밍 서버(예: Adobe Media Server, Wowza, Nginx RTMP 모듈)로 실시간 데이터를 전송한다.
-
비디오 온 디맨드(VOD) 전송
- 초기 플래시 기반 VOD 서비스에서 RTMP를 이용해 비디오 파일을 클라이언트에 전달하였다.
-
중계 서버 간 전송
- 여러 CDN(콘텐츠 전송 네트워크)이나 배포 서버 간에 실시간 데이터 흐름을 유지하기 위해 RTMP를 중계 프로토콜로 활용한다.
관련 프로토콜 및 대체 기술
- RTMPS: RTMP에 TLS(Transport Layer Security)를 적용한 보안 버전.
- HLS (HTTP Live Streaming), MPEG‑DASH: HTTP 기반 적응형 스트리밍 표준으로, 현재 모바일 및 웹 환경에서 널리 채택되고 있다.
- WebRTC: P2P 기반 실시간 통신 프로토콜로, 낮은 지연을 필요로 하는 인터랙티브 스트리밍에 사용된다.
현재 상황 및 전망
RTMP는 비디오 스트리밍 업계에서 오랜 역사를 가지고 있으며, 특히 인코더와 스트리밍 서버 간 전송에 있어 높은 호환성과 낮은 지연을 제공한다. 그러나 HTML5와 HTTP 기반 적응형 스트리밍 기술이 주류를 차지함에 따라, 최종 사용자에게 전달되는 단계에서는 RTMP가 직접 사용되는 경우가 감소하고 있다. 그럼에도 불구하고, 많은 스트리밍 워크플로우에서 인코더 → 서버 간 전송 경로로 RTMP가 유지되고 있어, 단기간 내 완전한 폐지는 예상되지 않는다.
참고 사항
- 본 문서는 공개된 기술 문서와 주요 기업의 공식 자료를 기반으로 작성하였다.
- 세부 구현 방식은 서버·클라이언트 제품에 따라 차이가 있을 수 있다.