RSSP
Moth 서버에서 사용하는 RSSP(Realtime Simple Streaming Protocol)는 기존 스트리밍 프로토콜의 복잡함을 줄이고 더 간단한 개발 경험을 제공하기 위해 TeamGRIT이 설계한 프로토콜입니다. 사용이 쉽고 확장성이 높으며 성능도 뛰어납니다.
RSSP 프로토콜의 동작
RSSP는 WebSocket 기반의 프레임 단위 전송 방식을 사용합니다. 프레임은 텍스트 또는 바이너리 형식으로 전송되며, 텍스트 프레임은 MIME 정보를 통해 뒤따르는 바이너리 스트림 형식을 설명합니다. 웹 환경에서 동작하므로 방화벽 제약이 적고, 텍스트와 바이너리 메시지를 혼합해 사용할 수 있습니다. JSON 기반 메시지도 지원하며 필요한 기능에 따라 API 버전을 선택할 수 있습니다.
RSSP 프로토콜 작동 원리
RSSP의 작동 원리는 다음과 같습니다.
- MIME 정보를 기준으로 데이터를 해석하고 처리합니다.
- MIME 정보가 없으면 MIME을 수신할 때까지 이전 데이터를 무시합니다.
- MIME 정보는 가능한 자주 반복 전송하는 것이 좋습니다. 보통 1초 간격을 권장합니다.
- MIME 정보에는 데이터 형식과 추가 메타데이터가 함께 포함됩니다.
RSSP는 다양한 데이터 형식을 지원하며, MIME 정보를 통해 미디어 형식과 제어 정보를 함께 전달합니다. 필요하면 새로운 데이터 형식도 정의할 수 있습니다.
이미지, 비디오, 오디오 코덱
Moth 서버는 다음과 같은 코덱을 지원합니다.
- 이미지 형식 : JPEG, PNG, WEBP, HEIF 등
- 비디오 형식 : H.264, H.265, VP8, VP9, AV1 등
- 오디오 형식 : Opus, Speex, AAC 등