본문으로 건너뛰기

라이브 LMS 콜백

LMS 콜백(LMS Callback)은 시청 데이터를 실시간으로 수집하여 학습 관리 시스템(LMS) 서버로 전송하는 기능입니다. 이를 통해 수강 완료 처리, 학습 패턴 분석, 시청 통계 산출 등 고도화된 교육 관리 로직을 구현할 수 있습니다.


주요 특징

  • 비동기 전송: 플레이어는 데이터 전송 시 서버의 응답을 기다리지 않으므로, 네트워크 환경에 관계없이 시청 흐름이 끊기지 않습니다.
  • 개인정보 보호: LMS 콜백 데이터에는 Mac Address, IP Address 등 민감한 개인 정보가 포함되지 않아 보안성이 우수합니다.

콜백 설정 방법

콜백 URL은 채널별로 독립적으로 설정할 수 있습니다.

  1. Kollus Live 콘솔 > [채널 관리] > [채널 리스트] 메뉴로 이동합니다.
  2. 상황에 따라 다음 중 하나를 선택합니다.
    • 신규 채널 생성 시 설정: 우측 상단의 [채널 등록] 버튼을 클릭합니다.
    • 기존 채널에 설정: 대상 채널 우측 [수정 아이콘]을 클릭합니다.
  3. 하단 [콜백] 탭[LMS 콜백] 항목에 전송 주기:콜백 URL 형식으로 입력합니다.
    • 구분자: 콜론(:)
    • 전송 주기: 초 단위 (권장: 30~60초)
    • 콜백 URL: 데이터를 전달받을 서버 주소 (https 필수)
    • 중복 등록: 줄바꿈(\n)을 통해 여러 개의 URL을 등록하여 여러 시스템으로 전송할 수 있습니다.
    채널 수정 페이지
  4. 입력 완료 후 [저장]을 클릭합니다.

콜백 호출 시점

  • 정기 호출: 설정된 전송 주기마다 반복 호출됩니다.
  • 이벤트 호출: 주기에 상관없이 시청자가 시청(Play), 일시정지(Pause), 정지(Stop)할 때 즉시 호출됩니다.
  • 세션 식별: 플레이어 새로고침이나 재접속 시 {START_AT} 값이 변경되어 새로운 시청 세션으로 구분됩니다.

콜백 설정 예시

30초마다 특정 서버(https://your-service-domain/lms_callback)로 시청 상세 데이터(JSON_DATA)와 고객사 정의 값(USERVALUE0)을 전송받고자 할 경우, 콘솔에 다음과 같이 입력합니다.

30:https://your-service-domain/lms_callback?json_data={JSON_DATA}&uservalue0={USERVALUE0}

요청 옵션

콜백 URL 뒤에 파라미터로 추가할 수 있는 옵션입니다.

파라미터설명
{JSON_DATA}모든 시청 정보를 포함한 JSON 객체
{CLIENT_USER_ID}시청자 ID (JWT 생성 시 입력한 client_user_id)
{START_AT}전송 요청 시각 (VideoGateway 호출 시점, Unix Timestamp)
{MEDIA_CONTENT_KEY}라이브 방송 키
{ENCODING_PROFILE_KEY}인코딩 프로파일 키
{HOST_NAME}라이브 방송 링크 요청 도메인
  • 예: catenoid.video.kr.kollus.com
{PLAYER_ID}Kollus 플레이어 고유 ID (플레이어 설치 시 자동 생성)
{PLAYLIST_STATUS}(Kollus 보안 플레이어 사용 시) 시청 상태
  • play : 시청 중
  • pause: 일시정지
  • stop: 플레이어 창 최소화
{DEVICE}기기 모델명
{RUN_TIME}일시정지 포함 누적 시청 시간 (초)
{SHOW_TIME}일시정지 미포함, Timeshift 포함 누적 시청 시간 (초)
{USERVALUE0~99}고객사 정의 값 (UTF-8 형식 준수)
  • 예: &uservalue0={USERVALUE0}&uservalue1={USERVALUE1}...

전송 데이터(JSON_DATA) 상세

JSON_DATA는 전체 시청 데이터를 포함합니다.

user_info

필드타입설명
content_provider_keystring서비스 계정 키 (방송 주체)
client_user_idstring시청자 ID (JWT 생성 시 입력한 client_user_id)
player_idstring기기 고유 식별자
hardware_idstring기기 하드웨어 시리얼 넘버
host_namestring라이브 방송 링크를 요청한 도메인
devicestring기기 모델명

content_info

필드타입설명
media_content_keystring라이브 방송 키
channel_keystring채널 키
start_atinteger전송 요청 시각 (VideoGateway 호출 시점, Unix Timestamp)
runtimeinteger일시정지 포함 누적 시청 시간 (초)
showtimeinteger누적 시청 시간 (초)
serialintegerLMS 발송 순서 (0부터 시작)
uservalue{0~99}string고객사 정의 값 (uservalue0~uservalue99)

시청 시간 용어 정의

ℹ️참고

시청 시간 계산 시 네트워크 버퍼링(Buffering) 시간은 포함되지 않습니다.

예시 상황

  • [13:00:00] 방송 시청 시작
  • [13:00:20] 방송 시청 일시정지
  • [13:00:40] 방송 시청 종료
용어정의 및 계산 방식예시 결과
Run Time전체 체류 시간
시청 종료 시각 - 시청 시작 시각
40초
Show Time실제 시청 시간
Run Time - 일시정지 시간
20초