다운로드 딥링크 샘플

DRM 서버의 콘텐츠 목록을 불러와, 콘텐츠마다 starplayer://download 링크를 만들어 StarPlayerApp을 호출합니다. LMS가 하는 일을 그대로 재현한 데모입니다.

StarPlayerApp(Windows/macOS)이 설치되어 있어야 다운로드가 시작됩니다

콘텐츠 목록 — 게이트웨이 GET /api/contents → DRM 서버 /api/ovp/contents. 링크는 다운로드 클릭 시점에 발급됩니다

수강 이력·계정별 관리에 쓰임 — 다운로드와 재생에 같은 값
불러오는 중…
대기 중…

starplayer://download 파라미터 안내

LMS 연동 문서(LMS-DOWNLOAD-INTEGRATION.md §4) 기준입니다. 이 데모는 필수 4종 + expired_date·user_id·title·category, 그리고 트랜스코딩 상세에서 받은 content_value·duration·thumb·caption 을 실어 보냅니다.

필수 파라미터

이름설명
token재생 토큰(playback_token). SPKv2 서버 간 발급 — 링크를 만들 때마다 새로 받는다 (캐시·재사용 금지)
content_idDRM 콘텐츠 ID
dash토큰 응답의 manifest.dash절대 URL 그대로 (프록시 경로로 바꾸면 앱이 받지 못한다)
license고객사 라이선스 코드. 다운로드에 필수 (재생만 할 때는 없어도 된다)

선택 파라미터

이름예시설명
title01. 오리엔테이션앱 목록에 보일 제목. 없으면 content_id 앞 8자
category1주차 강의/자료구조/로 구분, 뎁스 제한 없음. 없으면 "미분류"
user_idstudent001사용자 식별자. 빠지면 수강 이력이 전송되지 않는다. 한 PC 여러 사용자 분리에도 사용 — 사실상 필수, 다운로드와 재생에 같은 값
expired_date2026-12-31 23:59:59수강 종료일 (사용자 로컬 시각). 넣지 않으면 기본 보관 기간(30일)만 적용되어 수강 기간이 더 길면 중간에 재생이 막힌다 — 강력 권장
duration3600재생 시간(초). manifest 값이 있으면 그쪽이 우선
content_valueLEC-2026-001서비스 측 콘텐츠 식별자 (앱은 저장만 한다)
thumbhttps://…/thumb.jpg썸네일. 없으면 앱이 강의 번호 타일로 대체
captionko|한국어|https://…/ko.vtt|default자막 — 언어|라벨|URL[|default]. 기본 자막에만 |default. 여러 개면 파라미터를 반복 (JSON 금지)
예시
&caption=ko|한국어|https://cdn.example.com/ko.vtt|default
&caption=en|English|https://cdn.example.com/en.vtt
drmwidevinewidevine(기본) 또는 clearkey

공통 — 모든 값은 URL 인코딩(encodeURIComponent). API Key는 절대 페이지로 내려보내지 않는다 (이 데모는 게이트웨이가 서버 간 발급을 대신한다).