RTMP는 "Real-Time Messaging Protocol"의 약자로, 오디오, 비디오, 데이터 스트리밍을 위해 Adobe Systems가 개발한 프로토콜이다. 주로 라이브 스트리밍VOD(Video on Demand) 서비스에서 사용된다.

RTMP의 주요 특징

  1. 저지연(낮은 Latency)

    • 실시간 스트리밍을 위해 설계되어, 수 초 단위의 낮은 지연 시간으로 전송 가능
  2. 연결 기반 프로토콜

    • TCP(Transmission Control Protocol) 위에서 동작하며, 신뢰성 있는 데이터 전송을 보장
  3. 다양한 미디어 형식 지원

    • 오디오: AAC, MP3 등
    • 비디오: H.264, VP6 등
  4. Adaptive Bitrate Streaming

    • 네트워크 상황에 따라 비트레이트를 조절해 끊김 없는 스트리밍 지원

RTMP의 동작 방식

  1. Handshaking: 클라이언트와 서버 간 초기 연결을 설정
  2. Connection: 연결이 성립되면 미디어 데이터를 송수신
  3. Streaming: 오디오, 비디오 데이터를 패킷으로 나누어 전송

RTMP의 장점

  • 저지연: 라이브 방송에서 즉각적인 피드백 가능
  • 확장성: 대규모 사용자 지원
  • 보안: RTMPS(SSL/TLS 기반 암호화)로 보안 강화

RTMP의 단점

  • HTML5 비호환성: 현대 브라우저에서 RTMP는 직접 지원되지 않음
  • 높은 서버 요구 사항: 지속적인 연결 유지로 인한 리소스 부담

RTMP와 대안 프로토콜 비교

프로토콜지연 시간보안성주요 사용 사례
RTMP낮음(2~5초)RTMPS 지원라이브 스트리밍
HLS높음(10~30초)기본 지원VOD, HTML5 기반 스트리밍
WebRTC매우 낮음(1초 이하)기본 지원양방향 영상 통화, 회의

오늘은 RTMP(Real-Time Messaging Protocol)에 대해 공부했다. RTMP는 저지연실시간 스트리밍에 특화된 프로토콜로, 현재 YouTube Live와 같은 주요 스트리밍 플랫폼에서 사용된다.

하지만 HTML5 비호환성과 서버 부하 문제로 최근에는 HLSWebRTC와 같은 대안 프로토콜도 많이 활용된다.

배운 점:

  1. RTMP는 TCP 기반으로 신뢰성 있는 데이터 전송을 보장한다.
  2. RTMPS를 통해 보안을 강화할 수 있다.
  3. 현대 브라우저에서의 비호환성 때문에 WebRTC나 HLS로의 전환이 필요할 수 있다.

다음에는 RTMP를 활용한 직접 라이브 스트리밍 구현을 해봐야겠다!

0개의 댓글

Powered by GraphCDN, the GraphQL CDN