Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

개요

Kollus에서 제공하는 Callback 정보는 플랫폼에서 전달하는 내용과 플레이어에서 전달하는 내용으로 구분될 수 있습니다. 플레이어에서 전달하는 정보는 사용자가 컨텐츠를 이용한 정보를 활용할 수 있도록 관련 정보를 지정된 Url에 전달하는 기능입니다. 진도율을 전송할때 응답을 확인하지 않습니다. 단, 네트워크 오류인 경우 해당 데이터를 보관후 재 전송 가능할때 재 전송됩니다. 해당 기능을 사용하기 위해서는 Kollus에 접속하여 관련 정보를 설정하시면 Video-gateway를 통해 관련 내용이 전달되어 재생과 관련된 정보를 전달합니다.

...

VOD

PLAY TIME

REAL PLAYTIME

RUN TIME

SHOW TIME

예시

  1. 2배속으로 0~10초까지 시청

  2. 다시 0초로 돌아가서 10초 시청

  3. 10초 동안 정지

모든 재생 시간 포함(구간 반복 포함)

모든 재생 시간 포함(구간 반복 미 포함)

플레이어 재생 시간

플레이어 실제 재생 시간

PROGRESS

PROGRESS(배열에 담아 담고, 동일한 위치는 제외)

PLAY TIME + PAUSED TIME

누적 재생 시간

2배속 X 10초 + 구간 반복 2배속 X 10초 =40초

2배속 X 10초 = 20초(중복 구간 반복 제외)

10초 + 구간 반복 10초 + 10초 정지 = 30초

10초 + 구간 반복 10초 = 20초

...

  • {REAL_PLAYTIME}

    • 실재 재생 시간 (단위:초)

    • 배속 기능을 사용하는 경우 배속을 포함한 시간입니다. 시간 값은 누적입니다.

    • 10초간 2배속으로 재생한 경우 20초로 계산됩니다.

    • seek, 구간 반복 등으로 이미 본 구간에 대한 데이터는 집계하지 않습니다.

    • 2배속으로 10초동안 영상을 보신후 이전 20초전 구간으로 seek를 하여 20초 동안 시청하셨을 경우 real playtime은 20초 입니다. 

  • {PLAYTIME_PERCENT}

    • DURATION에 대한 전체 재생 비율 (단위:%, 정수, 절사)

    • 컨텐츠를 두번 반복해서 본 경우 200%로 계산됩니다.

  • {DURATION}

    • 컨텐츠 길이 (단위:초)

  • {MEDIA_CONTENT_KEY}

    • Kollus media_content_key

  • {ENCODING_PROFILE_KEY}

    • Kollus encoding profile key

  • {PLAY_BLOCK_JSON}

    • 데이터 포멧: JSON

    • 블럭 재생 정보

  • {BLOCK_PLAY_1}~{BLOCK_PLAY_##{BLOCK_CNT}}

    • 블럭 재생 여부

    • 재생하지 않고 Skip

    • 해당 블럭 재생 (0초 이상 재생하면 1로 설정됩니다.)

  • {BLOCK_TIME_1} ~{BLOCK_TIME_##{BLOCK_CNT}}

    • 해당 블럭을 재생한 시간입니다. (단위:초)

    • 플레이어의 배속기능을 이용해 재생한 경우 재생시간은 배속을 적용하여 계산됩니다.

    • 반복해서 3초의 범위를 갖는 블럭을 2회 재생한 경우 블럭의 재생시간은 6초입니다.

    • {DURATION}이 {BLOCK_CNT} 보다 작은 경우 {BLOCK_TIME#}의 합은 {DURATION}을 초과합니다. (각 블럭의 재생시간이 밀리초로 나오는 경우 올림하여 1초로 계산합니다.)

  • {LAST_PLAY_AT}

    • 마지막 재생 위치 (단위:초)

  • {HOST_NAME}

    • 비디오 링크 요청 도메인명

    • ex) catenoid.video.kr.kollus.com

  • {PLAYER_ID}

    • Kollus 플레이어의 고유 ID 입니다.

    • 플레이어 설치시 생성된 고유 ID 입니다.

    • 플래쉬 플레이어의 경우 kfp 라는 고유 문자열을 전송합니다.

  • {PLAY_STATUS}

    • 전용 플레이어에서만 사용가능(Flash, 공개 HTML5 사용안함)

    • play : 재생중

    • pause: 재생멈춤(일시정지)

    • stop: 플레이 창이 내려 갈 때

  • {RUN_TIME}

    • JSON_DATA의 runtime과 같음

  • {SHOW_TIME}

    • JSON_DATA의 showtime과 같음

  • {USERVALUE0}~{USERVALUE99}

    • Video-gateway호출에 추가된 추가 정보 입니다.

    • ex) LCD={USERVALUE0}&UCD={USERVALUE4}

    • 영문,숫자 이외의 한글등의 문자열을 전달할 경우 웹 브라우저들의 차이점이 있기 때문에 해당 변수 전달시 UTF-8로 전달해야 합니다. (전달되는 문자열은 웹의 특성상 UrlEncode해서 전달해야 합니다.)

  • {JSON_DATA}

    • 데이터 포멧: JSON

    • 모든 재생 정보를 포함한 데이터

...

  • Callback URLs: 캐리지 리턴으로 각각 치환자를 포함한 URL을 등록합니다.

    • 재생정보를 다수의 시스템에서 전달 받을 수 있도록 캐리지리턴(\n)으로 구분된 다수의 callback_url 을 등록할 수 있습니다.

    • Kollus 플랫폼의 필요에 따라 URL 설정 수를 제한할 수 있습니다.

  • Format: [block_count]:[period]:[enable_sessions]:[callback_url]

    • 구분자 : (콜론)

    • block_count

      • 컨텐츠 재생 구간을 나누는 블럭의 수 입니다. 10으로 설정하면 컨텐츠의 길이가 300초의 경우 각 블럭은 30초로 구성됩니다.

    • peroid

      • 데이터 전송 주기

      • Callback이 전송되는 주기로 지정된 period(단위:초) 마다 호출되고 프로그램(플레이어)이 종료될 때 추가로 호출 됩니다. 단, 플래시 플레이어의 경우는 플레이어 종료시 호출되지 않습니다.

      • 플레이를 일시정시 또는 정지했을 때 추가로 호출 됩니다.

      • 단위 :초

    • enable_blocks

      • 1 이면 block_info 항목에 blocks 정보를 포함 시킵니다.

      • 0 이면 block_info 항목에 blocks 정보는 없습니다.

    • enable_sessions

      • 1 이면 block_info 항목에 sessions 정보를 포함 시킵니다.

      • 0 이면 block_info 항목에 sessions 정보는 없습니다.

    • callback_url

      • 진도율 정보를 받을 Callback Url 입니다. 컨텐츠를 재생하는 사용자 환경에서 전송하기 때문에 방화벽 환경을 고려하여 http 사용을 권장합니다.

Callback URLs

Code Block
languagejs
10:30:1:0:httphttps://domain.com/check.asp?ip={IP}&id={CLIENT_USER_ID}&start={START_AT}&lms={
PLAY_BLOCK_JSON}&uservalue0={USERVALUE0}
20:180:0:1:httphttps://another_domain.com/anohter_check.php?ip={IP}&id={CLIENT_USER_ID}&start={
START_AT}&lms={JSON_DATA}&uservalue0={USERVALUE0}

...

재생 정보를 전달하기 위한 옵션은 JSON 형태의 Array로 전달됩니다.

  • progress_plugin (array)

    • httphttps://domain.com/check.asp?block_period=10&ip={IP}&id={CLIENT_USER_ID}&start={START_AT}&json_data={JSON_DATA}&uservalue0={USERVALUE0}

    • httphttps://another_domain.com/anohter_check.php?block_period=20&ip={IP}&id={CLIENT_USER_ID}&start={START_AT}&lms={PLAY_BLOCK_JSON}&uservalue0={USERVALUE0}

...

Code Block
languagejs
● URL: httphttps://lms.servicedomain.com/lms/register
● Method: POST
● Params:
    ● ID={CLIENT_USER_ID}
    ● LRN={USERVALUE0}
    ● LHF={USERVALUE1}
    ● LCD={USERVALUE2}
    ● TM={START_AT}
    ● PT={PLAY_TIME}
    ● ET={LAST_PLAT_AT}
    ● B1={BLOCK_PLAY_1}
    ● T1={BLOCK_TIME_1}
    ● ...
● httphttps://lms.servicedomain.com/lms/register?ID=pobi&MAC=123456789ABCDEF&LRN=
123456789ABCDEF&LHF=1&IP=192.168.0.118&LCD=L123&UCD=U123&TM=12345678
9&PT=123456789&E T=123456789&SKIP=0&B1=1&B2=1&B3=1&B4=1&B5=1&B6=1&B7
=1&B8=1&B9=1&B10=1&T 1=123456789&T2=123456789&T3=123456789&T4=12345678
9&T5=123456789&T6=123456789&T7=123456789&T8=123456789&T9=123456789&T10
=123456789

...