Versions Compared

Key

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

개요

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

Callback process

재생 정보를 전달 받는 흐름을 설명합니다.

  1. Kollus 설정에서 관련 정보 요청을 설정합니다.

    • Kollus는 컨텐츠 배포 단위인 채널 마다 다양한 옵션을 지정할 수 있습니다.

    • 배포하는 채널마다 지정된 데이터 수집이 가능합니다.

  2. 동영상 재생을 위해 Video-gateway를 호출하면 컨텐츠 재생을 위한 다양한 정보를 플레이어 전달하게 되며, 이때 재생과 관련된 정보를 전달할 설정을 함께 전달합니다.

  3. 재생 정보를 활용하기 위해 설정한 Url에 관련 정보를 전달합니다.

  4. Kollus는 컨텐츠 재생과 관련된 기본 정보를 수집하기 위해 관련 정보를 수집합니다.

    • 사용자 정보를 일체 포함되지 않습니다.

    • Mac Address, IP Address 개인의 위치 정보와 관련된 정보를 수집 되지 않습니다.

Customer Requirement

Kollus에서 전달하는 재생 관련 정보는 고객의 다양한 요청을 수렴하여 개발되었습니다.

...

  • {CLIENT_USER_ID}

    • 사용자의 User ID 입니다.

    • MediaToken 생성시 파라미터로 입력한 사용자의 ID 정보입니다. 이때 입력된 사용자 ID는 Kollus 시스템에서 관리되지 않고 사용자를 구분하는 Unique 정보로만 사용됩니다.

  • {START_AT}

    • Video-gateway를 호출한 시점의 Unixtimestamp 입니다.

    • 사용자의 컨텐츠 이용중 다수의 재생정보 전달이 발생할 수 있습니다. 동일한 요청에 같은 {START_AT} 값을 갖게 되며, 같은 시간에 다수의 이용자가 발생할 경우 Unixtimestamp 이기 때문에 중복될 수 있습니다.

    • 다운로드 컨텐츠의 경우 start_at은 컨텐츠 재생시 단말의 unixtimestamp 입니다.

  • {BLOCK_CNT}

    • Kollus에서 설정한 블럭의 개수입니다.

    • 재생 정보를 지정된 블럭 개수로 나누어 관리하며 정보 전달시 함께 포함시킬수 있습니다.

  • {PLAY_TIME}

    • 전체 재생 시간 (단위:초)

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

    • 10초간 2배속으로 재생한 경우 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}~{USERVALUE9USERVALUE99}

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

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

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

  • {JSON_DATA}

    • 데이터 포멧: JSON

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

...

플레이어별 지원 옵션을 확인할 수 있습니다. {MAC}, {IP}의 경우 개인정보에 해당하는 요소로 필요한 경우 별도 협의해 주십시오.

Option

FlashPlayer

KollusPlayer(PC)

KollusPlayer(Monlie)

{CLIENT_USER_ID}

O

O

O

{START_AT}

O

O

O

{BLOCK_CNT}

O

O

O

{PLAY_TIME}

O

O

O

{PLAYTIME_PERCENT}

O

O

O

{DURATION}

O

O

O

{MEDIA_CONTENT_KEY}

O

O

O

{ENCODING_PROFILE_KEY}

O

O

O

{PLAY_BLOCK_JSON}

O

O

O

{BLOCK_PLAY_1} ~

O

O

O

{BLOCK_TIME_1} ~

O

O

O

{LAST_PLAY_AT}

O

O

O

{HOST_NAME}

O

O

O

{PLAYER_ID}

X(kfp)

O

O

{USERVALUE0} ~

O

O

O

{JSON_DATA}

O

O

O

Settings

Callback에 대한 설정은 채널에서 할 수 있습니다. Callback이 필요한 채널 마다 설정해야 합니다.

...