Kakao i Connect Live 1.0
안내
키카오 i 커넥트 라이브 SDK 버전은 2022년 8월 2.0으로 업데이트 되었습니다. 2022년 8월 이후에 카카오 i 커넥트 라이브 서비스를 사용할 경우, Kakao i Connect Live 2.0 문서를 참고하시기 바랍니다.
카카오 i 커넥트 라이브(Kakao i Connect Live)는 클라우드 기반 라이브 스트리밍 플랫폼(CPaaS: Communication Platform as a Service)으로서, 기기의 성능이나 네트워크 상황에 따라 최적의 라이브 영상 서비스 구현을 위한 개발 도구인 Kakao i Connect Live SDK와 클라우드 인프라를 제공합니다.
Kakao i Connect Live는 웹 실시간 통신 기술인 WebRTC(Web Real-Time Communication)를 적용하여 스트리밍 지연 시간을 1초 미만으로 줄였으며, Android와 iOS를 포함한 대부분의 웹 브라우저에서 동작합니다.
Kakao i Connect Live의 개발 도구인 Connect Live SDK를 사용하여 일대일 통화(Live Call), 방송(Live Conference), 그룹 통화(Live Conference) 등 대부분의 라이브 영상 서비스를 개발할 수 있으며, 추가적으로 실시간 모니터링, 채팅, 실시간 이벤트, 녹화 등의 다양한 기능도 개발할 수 있습니다.
현재 Kakao i Connect Live는 엔터테인먼트, 커머스, 교육, 의료, 공공 분야 등 국내뿐만 아니라 글로벌 방송과 통화 서비스 분야에서 라이브 영상 서비스를 제공하고 있습니다.
그림Kakao i Connect Live
안내
Kakao i Connect Live SDK는 Android, iOS, Web 버전을 지원합니다.
지원 서비스 및 기능
Kakao i Connect Live는 모든 WebRTC 인프라뿐만 아니라 통화 또는 방송 서비스를 개발할 수 있는 Kakao i Connect Live SDK를 제공합니다. 따라서 개발자는 직접 WebRTC 또는 백엔드(Back-end) 인프라 개발 없이 보다 쉽고 효율적인 방식으로 통화와 방송 서비스를 개발할 수 있습니다. 설정(Config)과 연결(Connect)의 2단계 코드를 사용하여 개발하며, 최신 버전의 WebRTC 엔진인 크로미엄(Chrominum)의 사용은 언제나 높은 호환성과 성능을 유지할 수 있습니다.
Kakao i Connect Live의 지원 서비스 및 기능은 다음과 같습니다.
구분 | 기능 |
---|---|
모바일 플랫폼 | 이미 운영 중인 서비스 혹은 개발할 서비스에 SDK를 추가해 방송 또는 통신 기능을 적용 |
영상, 음성, 통화, 실시간 방송 서비스 등의 기능을 제공 | |
1:1 음성 통화 | 일반 전화와 같은 1:1 음성 통화를 지원 |
1:1 영상 통화 | 페이스톡이나 페이스타임처럼 1:1 영상 통화를 지원 |
그룹 통화(영상/음성) | 화상회의를 위한 그룹 통화 지원 |
실시간 품질 확인 | 현재 통화 상태를 API로 실시간 제공 및 분석결과 제공 |
자동 재연결 | 예기치 못한 통화종료 시 자동 재연결 기능 |
1:N 방송 | 실시간 방송 서비스(동시 접속은 1,000명까지 가능) |
카메라 변경 | 초기 카메라 설정, 변경 및 이벤트 수신 |
블루투스 헤드셋 | 외부 장치 지원 |
글로벌 클라우드에 의해 운영되어 세계 어디에서나 빠른 통신 품질 보장 | |
TURN 서버 | 글로벌 클라우드 기반 제공 - 요금제에 따라 차별화 |
실시간 모니터링 | 트랜잭션의 상태를 실시간으로 또는 통계적으로 모니터링 |
녹화 | 클라이언트, 서버에서 녹화하는 기능을 제공 - Kakao i Connect Live 서버에서 파일 다운로드 지원, 요금제에 따라 차별화 |
채팅 | 채팅 서비스 지원 |
SDK 클래스 구성
Kakao i Connect Live SDK는 기본적으로 Remon, Config, Observer 클래스를 사용합니다.
이 클래스 구성은 SDK 버전별로 조금씩 다를 수 있으며, 자세한 SDK 버전별 클래스는 SDK 문서를 참고하시기 바랍니다.
그림SDK 구성 요소
구분 | 설명 |
---|---|
일대일 통화, 방송, 그룹 통화 관련된 모든 과정(초기화, 방 개설/접속/종료 등)에서 사용 - Remon 클래스를 생성하기 위해서는 Config와 Observer 클래스가 필요 |
|
Init() | 객체를 초기화며, 호출 시 Kakao i Connect Live API 서버와 연결 - Kakao i Connect Live API 서버는 해당 객체에 일회용 토큰을 제공 |
Create() | 방송 생성 - Observer 클래스의 onCreate() Callback 메서드는 방송을 구분하는 유일값인 Channel ID를 생성 |
Join() | 방송에 참여하고 시청 - Viewer는 Channel ID값과 Join() 메서드를 통해 방송에 접근 |
Connect() | 통화에서 채널에 접속하거나 채널을 생성 - 해당 채널명이 없을 경우: 고유한 이름으로 채널 생성 - 해당 채널명이 있을 경우: 해당 채널로 접속 |
Close() | 채널에서 퇴장 또는 채널을 삭제하고 초기화 |
Config | Remon 객체를 초기화하기 전에 필요한 사전 설정 작업을 수행하는 클래스 - 인증을 위한 서비스 고유 정보(Service ID와 Service Key)를 설정 - 미디어 또는 네트워크와 관련된 다양한 작업을 처리 |
Observer | 명령을 내리는 Remon 클래스에 대해 Observer 클래스는 Callback() 메서드 관련 메시지를 수신 - Callback() 메서드를 통해 세밀한 통신 효과와 능동적인 서비스를 구현 가능 |
Android SDK
Android 환경에서 방송 또는 통화 서비스를 구현하기 위해 활용되는 Android SDK의 클래스는 다음과 같습니다.
그림Android SDK 클래스
Kakao i Connect Live SDK에서 가장 핵심이 되는 클래스인 Remon 클래스와 Config 및 Observer 클래스를 사용하여 기본적인 방송과 통화 서비스를 개발할 수 있습니다. Android SDK에서는 직접 Remon 클래스를 사용하지 않고 방송 또는 통화를 개발할 수 있는 하위 클래스인 RemonCall(통화)과 RemonCast(방송) 클래스를 제공합니다.
iOS SDK
iOS 환경에서 방송 또는 통화 서비스를 구현하기 위해 활용되는 iOS SDK의 클래스는 다음과 같습니다.
그림iOS SDK 클래스
Remon 클래스는 Kakao i Connect Live SDK 에서 가장 핵심이 되는 클래스입니다. 이 Remon 클래스와 RemonDelegate 메서드를 직접 구현하여 통화과 방송 서비스를 개발할 수 있지만, 이는 개발 과정이 다소 복잡할 수 있습니다.
iOS SDK는 이 방식보다 좀 더 쉽고 빠르게 서비스를 구현할 수 있도록, 복잡하고 반복적인 기본 작업을 포함하고 있는 RemonCall(통화) 클래스와 RemonCast(방송) 클래스를 제공합니다.
RemonCall 클래스와 RemonCast 클래스를 사용하면, 복잡한 RemonDelegate 메서드를 구현할 필요 없이 필요한 부분만 추가적으로 구현하면 됩니다.
Web SDK
Web 환경에서 방송 또는 통화 기능을 구현하기 위해서는 Remon 클래스만 사용됩니다.
그림Web SDK 클래스
Remon 클래스는 설정인 Config 객체와 Callback인 listener 객체를 인자로 초기화합니다. 또한 Remon 클래스로 선언한 객체의 경우, connectCall() 또는 createCast() 등의 메서드를 사용하여 통화와 방송 서비스를 구현할 수 있습니다.
지원 환경 및 스펙
Kakao i Connect Live를 사용하기 위해 필요한 지원 환경과 스펙은 다음과 같습니다. 브라우저의 경우에는 별도 플러그인을 설치할 필요가 없습니다.
표지원 환경 및 스펙구분 | 항목 | 설명 |
---|---|---|
지원환경 |
웹 브라우저 지원 스펙 | |
브라우저 |
Chrome | 28 이상 지원 |
브라우저 |
Mobile Chrome | 28 이상 지원 |
브라우저 |
Firefox | 22 이상 지원 |
브라우저 |
Whale | 지원 |
브라우저 |
Safari | 11 이상 지원 |
브라우저 |
Edge | 79 이상 지원 |
지원환경 |
Andriod | 최소 21(롤리팝) 이상 지원 - Java, Kotlin 언어 지원 - ARM기반 단말만 지원 |
지원환경 |
iOS | iOS 11 이상 지원, 64bit - Objective C, Swift 언어 지원 - bitcode 미지원 |
미디어 |
비디오 지원 스펙 | |
미디어 |
Codec | H.264(기본), VP8, VP9 |
미디어 |
Networks | 최소 300kbps 이상 지원 |
미디어 |
Processing Power | 듀얼코어 이상 지원 - CPU 벤치마크 PassMark Software 제시점수 1000점 이상의 PC |
미디어 |
오디오 지원 스펙 | |
미디어 |
Codec | G.711, Opus, ISAC |
미디어 |
Networks | 최소 50kbps 이상 지원 |
기타 |
지원 환경 및 미디어 이외의 지원 환경 스펙 | |
기타 |
Latency | 최소 0.2초 ~ 최대 1초 - 네트워크와 환경에 따라 다를 수 있음 |
기타 |
Setup time | 웹: 1초 미만, 모바일: 1.5초 미만 - 네트워크와 기타 환경에 따라 다를 수 있음 |
기타 |
Region | 전 세계 지원 |
관련 문서
Kakao i Connect Live 1.0 Kakao i Connect Live Connect Live SDK Kakao i Connect Live