Secure Playback Environment
StarPlayer Shell
데스크톱(Windows/macOS)에서 콘텐츠가 재생되는 순간을 보호하는 보안 실행 환경입니다. 변조 방지, 프로세스 감시, Device Binding으로 캡처·유출을 차단하며, Downloader 기능을 포함해 다운로드와 재생을 한 앱에서 처리합니다. 학습 사이트는 URL scheme 하나로 앱을 호출합니다.
보안 실행 환경 제공
재생 중 화면 캡처·녹화 도구를 감시하고 차단합니다.
변조 방지 및 무결성 보호
실행 파일 변조와 디버깅 시도를 탐지합니다.
가상화/격리 환경 지원
가상머신·원격 환경에서의 재생 정책을 통제합니다.
Device Binding 지원
기기 단위로 라이선스를 묶어 계정 공유를 차단합니다.
다양한 플랫폼 지원
Windows·macOS 데스크톱과 iOS·Android 앱이 같은 규약을 씁니다.
URL Scheme 연동 — starplayer://
앱은 starplayer:// 스킴 하나로 세 가지를 호출합니다. iOS·Android 앱과 같은 규약이라 링크를 플랫폼별로 나누지 않습니다.
| 하려는 것 | 링크 형태 |
|---|---|
| 콘텐츠 다운로드 | starplayer://download?token=…&content_id=…&dash=…&license=… |
| 라이브 방송 재생 | starplayer://play?live=1&chat_token=… |
| VOD 재생 (스트리밍) | starplayer://play?token=…&content_id=…&dash=… |
| 웹 페이지를 보안 셸에서 열기 | starplayerapp://play?token=…&url=…&authUrl=… — 서버와 세션 핸드셰이크(HMAC 서명, 30초 1회용 토큰) 후 웹 재생 페이지를 셸 안에서 스트리밍 |
공통 규칙 — ① 모든 값은 URL 인코딩(encodeURIComponent)
② token은 SPKv2 재생 토큰(서버 간 발급, 재생할 때마다 유효한 값 필요)
③ 정식 흐름은 로그인 → 백엔드가 토큰 발급 → 링크에 실어 앱 호출.
서버측 구현 — starplayerapp:// 세션 핸드셰이크(1회용 토큰 발급·HMAC 검증)와 앱 호출 방법은 Shell 연동 가이드를 참고하세요.
딥링크 데모
실제 DRM 서버에서 재생 토큰을 발급받아 starplayer:// 링크를 만들어 앱을 호출합니다.
StarPlayerApp(데스크톱)이 설치되어 있어야 열립니다.
VOD 재생 (스트리밍) 파라미터 — starplayer://play
LMS 딥링크의 play는 받아 둔 파일이 아니라 원격 dash 매니페스트를 스트리밍합니다.
사전 다운로드가 필요 없고, 재생마다 DRM 라이선스를 새로 받으므로 환불·수강 만료가 서버에서 즉시 반영됩니다.
라이브(live=1)와 형태가 같습니다 — live=1만 빼면 VOD 스트리밍입니다.
| 파라미터 | 필수 | 설명 |
|---|---|---|
token | 필수 | 재생 토큰(JWT). SPKv2 발급. 재생마다 유효한 값 필요 |
content_id | 필수 | 콘텐츠 식별자(UUID) |
dash | 필수 | 재생할 DASH manifest.mpd 원격 주소. 이 값을 스트리밍합니다 (실제 매니페스트 URL이어야 함) |
license | 권장 | 고객사 라이선스 코드. 있으면 브랜드 색·워터마크 정책·이벤트(app_event)·SCMS가 적용됩니다 (다운로드와 동일). 없으면 기본값으로 폴백 |
user_id | 권장 | 사용자 식별자. 워터마크·수강 이력에 씀 |
title | 선택 | 영상 제목. 창 제목으로 쓰임 |
caption | 선택·반복 | 자막. 언어|라벨|URL[|default] — 여러 개면 caption 을 반복. 원격 URL을 그대로 씁니다 |
config | 선택 | 프로세스 감시 목록 URL. 없으면 라이선스의 pc_config_url → 기본 |
drm | 선택 | widevine(기본) 또는 clearkey |
받아 둔 콘텐츠(오프라인)는 앱을 실행해 라이브러리 목록에서 직접 눌러 재생합니다 — 그때만 로컬 파일을 씁니다.
LMS 딥링크 play는 항상 스트리밍입니다.