본문으로 건너뛰기
버전: 3.4.x

Moth 서비스 API

Moth 서버는 데이터 송수신과 미디어 서비스를 위한 서비스 API를 제공합니다. Moth를 활용하는 핵심 목적 중 하나가 이 API를 통해 데이터를 전송하고 수신하는 것입니다. 아래에서는 주요 구성과 옵션을 설명합니다.

서비스 API 소개

Moth 서비스 API는 라이브 방송, 영상 회의, 채팅 같은 미디어 서비스 구현에 직접 사용됩니다. 이 API를 통해 데이터를 송수신하고 다양한 미디어 서비스를 구성할 수 있습니다.

Protocol

  • ws | wss : Moth 서버 연결 프로토콜입니다. 웹소켓을 사용하며, 필요하면 보안 웹소켓인 wss를 사용할 수 있습니다.

API 종류

Moth 서버의 서비스 API는 다음 두 가지 유형으로 나뉩니다.

API메시지 형식지원버전
/shot/ws/{pub,sub}JSON 메시지v0.0.1
/pang/ws/{pub,sub,ctl,meb}Text, Binary 메시지v.0.0.6

Pathname

Moth 서비스 API에서는 다양한 경로를 사용해 원하는 작업을 수행할 수 있습니다.

API 종류기능지원버전
/pang/ws/pub주어진 채널(소스, 트랙)에서 데이터를 전송합니다.v0.0.3
/pang/ws/sub주어진 채널(소스, 트랙)에서 데이터를 수신합니다.v0.0.3
/pang/ws/ctl주어진 채널(소스, 트랙)에 대해 설정(예, 스트림키)을 포함하여 채널 내 자원의 사용 형태를 제어합니다.v0.0.5
/pang/ws/meb주어진 채널(소스, 트랙)에서 데이터를 송수신하며 참여한 모든 세션으로 데이터를 방송합니다.v0.0.6

Options for /pang API

서비스 API는 아래 옵션으로 동작을 세부 제어할 수 있습니다.

옵션동작 설명사용방식
channel=<xid><xid>의 채널을 사용합니다.필수
channel=instant & name=<string>채널 등록 없이 임시 instant 채널을 만들고 name으로 식별해 사용합니다.필수, xid 채널을 사용하지 않을 때
source소스를 사용합니다. 지정하지 않으면 기본 소스인 base가 사용됩니다.
source=[“base” | <string>]
선택
track트랙을 사용합니다. 지정하지 않으면 기본 트랙인 video가 사용됩니다.
track=[“video” | <string>]
선택
mode버퍼 구성 방식입니다. single 또는 bundle을 선택합니다.
mode=[“single” | ”bundle”]
선택
style데이터 수신 방식입니다. mono 또는 multi를 선택합니다.
style=[“mono”|”multi”]
선택
wait수신 대기 방식입니다. force 옵션을 사용하면 송신 여부와 무관하게 대기합니다.
wait=[”force”]
선택
timeout연결 후 데이터가 오지 않아도 <second> 동안 기다립니다.
timeout=[30|<1~3600>]
선택
len버퍼 슬롯 수를 지정해 송신 데이터를 수신합니다.
len=[5|<2~10>]
선택
total생성된 전체 버퍼 수를 지정합니다.
total=[<2~10>]
선택
order생성된 버퍼 중 몇 번째 버퍼를 사용할지 지정합니다.
order=[<0~9>]
total 사용시 필수
codec원하는 코덱을 지정합니다. 현재는 JPEG, VP8, H264 간 변환을 지원합니다.
codec=[jpeg|vp8|h264]
선택 (sub)

채널 사용 권한 인증

Moth 서버는 채널 사용 권한 인증을 위해 API 호출 시 Stream key를 요구합니다.

/pang/ws/pub?channel=<xid>&track=colink&mode=bundle&mime=video/h264&key=<string>

서비스 API를 사용하거나 채널을 설정할 때 key 매개변수에 인증키를 전달합니다.

예제

다음은 Moth 서버와 데이터를 송수신하는 예시입니다.

ws(s)://<server_addr:port>/pang/ws/pub?channel=btlb3pjpc98lsdbc0lj0