RTMP?
RTMP(Real Time Message Protocol)이란 어도비 회사에서 독점 프로토콜로 비디오나 오디오등을 인터넷 상에서 실시간으로 스트리밍 데이터를 전송해서 불특정 다수들이 받아 볼 수 있도록 하는 기술의 규격을 말합니다.
RTMP는 기본 1935포트를 사용하지만 통신에 실패하면 RTMPS(434)나 RTMPT(80)포트를 사용하여 통신하도록 시도합니다.
RTMP 패킷 구조
RTMP의 패킷 구조는 아래와 같습니다.
위 이미지를 통해 RTMP 규격을 거쳐 다른 기기에 전송 되는 구조 라는 것을 알 수 있습니다.
대부분 실시간 방송 서비스는 RTMP를 이용해서 스트리밍하게 됩니다.
RTMP를 사용하는 서비스
대부분이 알고 계시는 방송 플랫폼이 RTMP를 사용하고 있습니다.
피드백 | 프로토콜 | 프로그램 | 최대 프레임 레이트 |
최대 해상도 | 최대 전송량 | 비디오 코덱 | 오디오 코덱 | 서드파티 지원 |
채팅 | RTMP | 자체개발 | 60 | 1280 * 1024 | 4000 | MPEG H.264 |
MP3 | 지원안됨 |
피드백 | 프로토콜 | 프로그램 | 최대 프레임 레이트 |
최대 해상도 | 최대 전송량 | 비디오 코덱 | 오디오 코덱 | 서드파티 지원 |
채팅 | RTMP | 자체개발 웹 기반 |
40 | 1024 * 768 | 1000 2000 3000 |
MPEG H.264 |
MP3 | 지원안됨 |
아프리카 티비는 나우콤에서 운영하는 서비스 입니다. 개인이 별풍선, 광고협찬 등을 통해 수익을 얻을 수 있는 인프라가 구축되어 있어 편리하기도 하죠. 하지만 화질을 더 좋은 해상도로 올릴려하면 베스트BJ라는 것이 되어야 가능한데
베스트 BJ가 되지 않으면 비싼 값의 쿠폰을 구입해야 더 좋은 화질과 해상도로 방송할 수 있습니다.
서드 파티 지원은 개인 사용자에게는 따로 지원되지 않고, 사전 계약된 기업고객(축구/야구 등과 같은 스포츠 중계)에게만 지원해주고 있어 지원안됨이라 표현했습니다.
국내 서비스는 위와 같고, 이제 해외 서비스를 살펴보자면
피드백 | 프로토콜 | 프로그램 | 최대 프레임 레이트 |
최대 해상도 | 최대 전송량 | 비디오 코덱 | 오디오 코덱 |
서드파티 지원 |
코멘트 서드파티 |
RTMP | 웹 기반 서드파티 |
60 | 1920 * 1080 | 480p < 2000 720p < 4000 1080p < 6000 |
WebM H.264 |
Ogg Vorbis MP3 HE-AAC4 |
지원 (스트림키) |
피드백 | 프로토콜 | 프로그램 | 최대 프레임 레이트 |
최대 해상도 | 최대 전송량 | 비디오 코덱 | 오디오 코덱 | 서드파티 지원 |
웹 - 채팅 서드파티 |
RTMP | 웹 기반 서드파티 |
60 | 1920 * 1080 | 제한없음 (5000kb ps이상 추천) |
H.264 | AAC-LC5 | 지원 (스트림키) |
구글의 Youtube는 동영상 서비스로 전세계적으로 유명하고, 유료채널 구독, 최근엔 일반유저에게도 생방송 서비스를 개방했었죠. 초기부터 컨텐츠 제작자의 채널에 광고수입을 올릴 수 있는 시스템을 구축하여 전 세계 수 많은 시청자들에게 고수입과 동시에 고화질의 동영상과 생방송 서비스를 제공하고 있습니다.
채팅 옵션이 기본적으로 활성화 되어있고, 비활성화도 가능합니다.
해상도 제한은 화질별로 다르고 (4K 가능) 해외 시청자들은 국내처럼 인터넷환경이 100메가급으로 좋은게 아니라 비트레이트를 2~3Mbps로 조절할 필요가 있습니다.
국내에서는 5000k 정도로 송출이 가능하고, 2014년 후반기에 60fps 업로드 및 실시간 스트리밍이 가능해졌습니다.
트위치는 유튜브와 마찬가지로 세계적으로 유명한 스트리밍 서비스입니다. 규모가 큰 게임 이벤트는 트위치에서 거의 볼 수 있을 만큼 게임에 특화되어 있는 서비스입니다.
생방송에서 웹 기반 채팅이 가능해 상호작용/반응을 쉽게 확인이 가능하고, 유튜브와 마찬가지로 1080p 60fps도 가능하고
720p 30f/60f에서는 대역폭은 2~3Mbps 수준으로 조절하는게 좋습니다.
이상으로 RTMP 프로토콜에 대해 알아보았습니다.
'Networking' 카테고리의 다른 글
[바미] 쿠키, 세션이란? (0) | 2022.12.26 |
---|---|
[바미] 3 - Way Handshake 와 4 - Way Handshake를 알아봅시다. (2) | 2022.11.08 |
[바미] WebRTC, STUN서버, TURN서버에 대해 (0) | 2022.10.27 |
[바미] MMORPG 서버 구조에 대해 알아보자.(完) (5) | 2020.12.19 |
[바미] MMORPG 서버 구조에 대해 알아보자.(2)(싱글프로세스 vs 멀티프로세스) (1) | 2020.12.19 |