Omnitalk
  • Omnitalk SDK
  • Commons
    • Precondition
    • Call Flow
    • Event Message
    • SDK State
  • Javascript
    • Installation
    • Quick Start
    • API Reference
  • TYPESCRIPT
    • Installation
    • Quick Start
    • API Reference
    • Developer's Guide
      • Pre-requisite
      • Audio Call
      • Video Call
      • SIP Call
      • Audio Room
      • Video Room
      • Chatting
  • IOS
    • Installation
    • Quick Start
    • API Reference
    • Developer's Guide
      • Pre-requisite
      • Audio Call
      • Video Call
      • SIP Call
      • Audio Room
      • Video Room
      • Chatting
  • android
    • Installation
    • Quick Start
    • API Reference
    • Developer's Guide
      • Pre-requisite
      • Audio Call
      • Video Call
      • SIP Call
      • Audio Room
      • Video Room
      • Chatting
  • FLUTTER
    • Installation
    • Quick Start
    • API Reference
    • Developer's Guide
      • Pre-requisite
      • Audiocall Guide
      • Videocall Guide
      • SIPcall Guide
      • AudioRoom Guide
      • VideoRoom Guide
      • Chatting Guide
  • REACT-NATIVE
    • Installation
    • Quick Start
    • API Reference
    • Developer's Guide
      • Pre-requisite
      • Audiocall Guide
      • Videocall Guide
      • SIPcall Guide
      • AudioRoom Guide
      • VideoRoom Guide
      • Chatting Guide
Powered by GitBook
On this page
  • 1:1 영상 통화
  • 1. 옴니톡 객체 생성
  • 2. 세션 생성
  • 3. 발신
  • 4. 수신
  • 영상 회의
  • 1. 옴니톡 객체 생성
  • 2. 세션 생성
  • 3. 룸 생성
  • 4. 룸 참여
  • 5. 방송 시작
  • 6. 방송 구독
  1. TYPESCRIPT

Quick Start

PreviousInstallationNextAPI Reference

Last updated 8 months ago

Omnitalk SDK는 쉽고 간편하게 WebRTC 기술을 이용할 수 있도록 만들어진 패키지입니다. Omnitalk SDK의 모든 API는 async ~ await 구조로 작성되었습니다. 요청이 실패하면 에러를 throw 합니다. 상세 API 사용법은를 참조 바랍니다.

1:1 영상 통화

1. 옴니톡 객체 생성

에서 발급받은 Service ID로 Omnitalk 객체를 생성합니다.

import { Omnitalk } from "omnitalk-ts-sdk";

const SERVICE_ID = '발급받은 service id';
const SERVICE_KEY = '발급받은 service key';

Omnitalk.sdkInit(SERVICE_ID, SERVICE_KEY);
const sdk = Omnitalk.getInstance();

2. 세션 생성

인수로 전달한 user_id로 세션을 생성하게 됩니다. user_id 생략시 Omnitalk 서버에서 임의의 ID를 부여합니다.

const sessionResult = await sdk.createSession('alice');
const session = sessionResult.session

3. 발신

offerCall 호출이 성공하면 caller에게는 RINGBACK_EVENT가, callee에게는 RINGING_EVENT가 전달됩니다.

import { CALL_TYPE } from "omnitalk-ts-sdk/dist/public-types/common";

const localVideo = 'videotag1';
const remoteVideo = 'videotag2'; 
const callee = 'test@omnistory.net';

await sdk.offerCall(CALL_TYPE.VIDEO_CALL, callee, true, localVideo, remoteVideo);

4. 수신

import { OmniEvent } from "omnitalk-ts-sdk/dist/public-types/common"

sdk.on('event', async(msg) => {
    if (msg.cmd == OmniEvent.RINGING_EVENT) {
        const ringingMsg = msg as EventRinging;
        await omnitalk.answerCall();
    } else if (msg.cmd == OmniEvent.CONNECTED_EVENT) {
	console.log(msg.session);
    }
});

영상 회의

1. 옴니톡 객체 생성

import { Omnitalk } from "omnitalk-ts-sdk";

const SERVICE_ID = '발급받은 service id';
const SERVICE_KEY = '발급받은 service key';

Omnitalk.sdkInit(SERVICE_ID, SERVICE_KEY);
const sdk = Omnitalk.getInstance();

2. 세션 생성

인수로 전달한 user_id로 세션을 생성하게 됩니다. user_id 생략시 Omnitalk 서버에서 임의의 ID를 부여합니다.

const sessionResult = await sdk.createSession('alice');
const session = sessionResult.session

3. 룸 생성

영상 회의를 위한 룸을 생성합니다.

import { VIDEOROOM_TYPE } from "omnitalk-ts-sdk/dist/public-types/common"

const roomResult = await sdk.createRoom(VIDEOROOM_TYPE.VIDEO_ROOM);

4. 룸 참여

룸에 참여하게 되면 음성과 채팅 메시지를 주고 받을 수 있는 상태가 됩니다.

const roomId = roomResult.room_id;
await sdk.joinRoom(roomId);

5. 방송 시작

cosnt pubResult = await sdk.publish('Omnitalk-LocalVideo-0');

6. 방송 구독

const pubSession = pubResult.session;
await sdk.subscribe(pubSession, 'Omnitalk-RemoteVideo-0');

1:1 영상 통화를 구현하기 위한 발신 기능은 offerCall API를 이용합니다. 영상을 화면에 재생하기 위해서 caller 및 callee의 영상을 담을 사용자 지정 tag id를 전달할 수 있습니다(미지정시 옴니톡 에 따른 id를 사용하시면 됩니다).

callee측에서는 RINGING_EVENT를 받고 통화를 수락하거나 거절할 수 있습니다. 통화 수락은 를 이용합니다. 영상을 화면에 재생하기 위해서 caller 및 callee의 영상을 담을 사용자 지정 tag id를 전달할 수 있습니다(미지정시 옴니톡 에 따른 id를 사용하시면 됩니다).

answerCall이 정상적으로 수행되면 caller, callee 양측은 CONNECTED_EVENT를 받습니다. 수신 거절은를 이용하시면 됩니다.

에서 발급받은 Service ID로 Omnitalk 객체를 생성합니다.

publish API 호출시 방송을 시작합니다. 영상을 화면에 재생하기 사용자 지정 tag id를 전달할 수 있습니다(미지정시 옴니톡 에 따른 id를 사용하시면 됩니다).

구독하고자는 방송의 session을 인수로 전달하면 해당 방송을 구독할 수 있습니다. 영상을 화면에 재생하기 사용자 지정 tag id를 전달할 수 있습니다(미지정시 옴니톡 에 따른 id를 사용하시면 됩니다).

Typescript API
콘솔
콘솔
Tag Rule
answerCall API
Tag Rule
leave API
Tag Rule
Tag Rule