Web/Nginx

RTMP란?

park_juyoung 2019. 1. 3. 13:43

1. RTMP는 무엇인가?


RTMP(Real Time Message Protocol)은 어도비(Adobe) 독점 프로토콜로 보통 비디오나 오디오등을 인터넷 상에서 실시간으로 스트리밍 데이터를 전송해서 불특정 다수들이 받아 볼수 있도록 하는 기술의 규격입니다. RTMP는 기본 1935포트를 사용하지만 통신이 실패하면 RTMPS(434)나 RTMPT(80) 포트를 사용하여 통신하도록 시도합니다.


패킷 구조는 다음과 같습니다.




 


위의 이미지를 보시면 RTMP 규격을 거쳐서 다른 기기까지 전송이 되는 것을 볼수 있습니다.

대부분 실시간 방송 서비스는 보통 RTMP를 이용해서 스트리밍하게 됩니다.


RMTP에 대해 자세하게 알고싶으신 분은 위키디피아에 들어가셔서 확인을 하실수가 있습니다.


2. RTMP를 사용하는 서비스는 무엇이 있을까?


실시간 방송 서비스는 우리나라 이외에도 전세계에 존재하고있습니다. 그 중에서 몇몇개를 나열하고 설명 드리겠습니다.

우선 국내 서비스입니다.


팟플레이어

 피드백

프로토콜 

프로그램 

최대 프레임레이트 

최대 해상도 

최대 전송량 

비디오코덱 

오디오코덱 

서드파티

지원 

 채팅

RTMP 

자체개발 

60 

1280*1024 

 4000

MPEG

H.264 

MP3 

지원안됨* 

 


아프리카 티비

 

 피드백

프로토콜 

프로그램 

최대 프레임레이트 

최대 해상도 

최대 전송량 

비디오코덱 

오디오코덱 

서드파티

지원 

 채팅

RTMP 

자체개발

웹 기반 

40 

1024*768

1000

2000

30002

MPEG

H.264 

MP3 

지원안됨* 



위의 표를 보시면 아시겠나요?


다음에서 서비스하는 팟플레이어의 경우는 720p/60fps 등으로 방송을 할 수 있는 국내 최고의 환경이지만, 전용 프로그램(팟플레이어)에서만 쓸수가 있습니다.


아프리카 티비는 나우콤에서 운영하는 서비스고, 개인도 별풍선, 광고협찬등을 통해서 수익을 올릴 수 있는 인프라 구축등 컨텐츠 제작자를 위한 환경이 팟플레이어 보다 뛰어납니다. 하지만, 화질에서 보시면 베스트BJ가 되지 않는한 비싼 값의 쿠폰을 구입해야 사용할 수 있는 국내 최악의 환경을 가지고 있습니다.


서드파티 지원란을 보시면, 국내 서비스에서는 개인 사용자에게는 따로 지원이 되지않고 사전 계약된 기업고객에게만 지원해주고 있기때문에 지원 안됨으로 표기했습니다. 기업고객들은 스포츠중계(축구/야구 등), 뉴스(YTN24 등), 각종 행사등에 활용하고 있습니다.


다음은 해외서비스 몇가지를 알아 보도록 할까요?


유튜브

 

 피드백

프로토콜 

프로그램 

최대 프레임레이트 

최대 해상도 

최대 전송량 

비디오코덱 

오디오코덱 

서드파티

지원 

코멘트

서드파티

RTMP 

웹 기반 

서드파티

60 

1920*1080

480p<2000

720p<4000

1080p<6000

WebM

H.264

Ogg Vorbis

MP3

HE-AAC4

지원

(스트림키) 

 


트위치

 

 피드백

프로토콜 

프로그램 

최대 프레임레이트 

최대 해상도 

최대 전송량 

비디오코덱 

오디오코덱 

서드파티

지원 

웹-채팅

서드파티

RTMP 

웹 기반 

서드파티

60 

1920*1080

제한없음

( 5000kbps

이상 추천 )

H.264

AAC-LC5

지원

(스트림키) 


유스트림

 

 피드백

프로토콜 

프로그램 

최대 프레임레이트 

최대 해상도 

최대 전송량 

비디오코덱 

오디오코덱 

서드파티

지원 

웹-채팅

서드파티

RTMP 

자체 개발

웹 기반 

서드파티

60 

1920*1080

제한없음

( 5000kbps

이상 추천 )

WebM

H.264

AAC-LC

HE-AACv26

지원

(스트림키) 

 


Niconico 생방송(ニコニコ生放送)

 

 피드백

프로토콜 

프로그램 

최대 프레임레이트 

최대 해상도 

최대 전송량 

비디오코덱 

오디오코덱 

서드파티

지원 

화면 코멘트

서드파티

RTMP 

자체 개발

웹 기반 

서드파티

120

512*384

640*360

2~19H 480

19~2H 384

H.264

AAC-LC

HE-AACv2

지원

(스트림키) 




구글의 Youtube는 동영상 서비스로 전세계적으로 유명하고, 유료채널 구독, 최근엔 일반유저에게도 생방송 서비스를 개방했습니다. 초기부터 컨텐츠 제작자의 채널에 광고수입을 올릴 수 있는 시스템을 구축해서 전세계 수많은 시청자들에게 과고수입과 더불어 고화질의 동영상과 생방송 서비스를 제공하고있습니다. 채팅 옵션이 기본적으로 활성화 되어있고 비활성화도 가능합니다.

해상도 제한은 화질별로 다르고 (4K도 가능) 전세계의 시청자들은 국내처럼 인터넷환경이 100메가급으로 좋은게 아니라서 비트레이트를 2~3Mbps로 조절할 필요가 있습니다. 국내에서는 KT기준으로 5000k 정도 송출이 가능하구요 2014년 후반기에 60fps 업로드 및 실시간 스트리밍이 가능해졌습니다.


Ustream과 Twitch.tv는 youtube와 마찬가지고 세계적으로 유명하구요, 각 기업들이 자사 홍보, 이벤트에 활용하고있는 서비스입니다. 규모가 큰 게임이벤트는 트위치에서 거의 볼수 있을 만큼 트위치는 게임에 특화되어있는 서비스입니다.

생방송에서 웹기반 채팅이 가능해 상호작용/반응을 쉽게 확인이 가능하구요. 유튜브와 마찬가지로 1080p60도 가능하고 720p 30f/60f에서는 대역폭은 2~3Mbps 수준으로 조절하는게 좋습니다.


Niconico 생방송(ニコニコ生放送) 은 일본에서 서비스하는 동영상 서비스 회사의 생방송 서비스인데요, 유료회원만 가능합니다.

시청자 피드백이 가장 특화되어 있으며, 유저들이 만들 최적화/외부툴이 있습니다. 단점으로는 다른 서비스보다 굉장히 열악한 해상도만 사용 가능해서 화질이 최악의 수준입니다.




'Web > Nginx' 카테고리의 다른 글

ffmpeg 옵션 정리  (4) 2019.01.03
[Nginx] RTMP module 설치 및 설정  (1) 2019.01.03