본문으로 건너뛰기

Moth 서비스 API

Moth 서버는 데이터 송수신 및 미디어 서비스에 관련된 기능을 제공하기 위해 다음과 같은 서비스 API를 지원합니다. 이 API를 사용하여 데이터를 전송하고 수신하는 것은 Moth 서버를 활용하는 주요 목적 중 하나입니다. 아래에서는 Moth 서버의 서비스 API에 대한 내용을 상세히 설명합니다.

서비스 API 소개

Moth 서버의 서비스 API는 라이브 방송, 영상 회의, 채팅 등과 같은 미디어 서비스의 직접적인 활용에 사용됩니다. 이 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에서는 다양한 경로(Pathname)를 사용하여 원하는 작업을 수행할 수 있습니다. 아래는 서비스 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 사용 시 다양한 옵션을 설정할 수 있으며, 이러한 옵션은 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 매개 변수를 사용하여 인증키를 설정합니다.

예제

서비스 API를 사용하여 Moth 서버와 데이터를 송수신하기 위해 다음 예시를 참고하세요.

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