라이브 + 채팅 샘플

실제 라이브 서버의 채널 목록을 불러와, 채팅 토큰과 재생 토큰을 발급받고 DRM 라이브 플레이어에 입장합니다. LMS가 하는 일을 그대로 재현한 데모입니다.

채널 목록

불러오는 중…
대기 중…

이 데모가 하는 일

1
채널 목록 조회

게이트웨이 GET /api/channels → 라이브 서버 (X-Live-API-Key는 게이트웨이에만)

2
입장 — 토큰 2종 발급

채팅 토큰(POST /api/chat-token) + 재생 토큰(POST /api/token). 채팅 토큰 404는 "채팅 없는 채널" — 재생만으로 입장

3
플레이어 이동 — 웹 또는 Shell

웹: 토큰을 실어 라이브 플레이어(live-chat.html)로 이동. Shell: 게이트웨이 /api/app-launch-token → starplayerapp:// 핸드셰이크로 같은 페이지를 보안 셸 안에서 스트리밍 (모바일 앱은 starplayer://play?live=1&… 딥링크)

라이브 방송 재생 파라미터 — starplayer://play?live=1

받아 둔 것이 아니라 LMS가 준 원격 매니페스트를 실시간으로 틉니다. 원장·만료·다운로드 완료 검사를 건너뜁니다. (LMS-URL-SCHEME-GUIDE §2)

파라미터필수설명
live필수1(또는 true/yes). 이 값이 있어야 라이브로 처리
token필수재생 토큰(JWT). SPKv2 발급
content_id필수콘텐츠 식별자(UUID)
dash필수라이브 DASH manifest.mpd 원격 주소 — 다운로드와 달리 라이브는 이 주소로 직접 재생
license권장고객사 라이선스 코드. 있으면 다운로드와 동일하게 브랜드 색·워터마크 정책·이벤트(app_event)·SCMS·프로세스 감시 목록을 적용. 없으면 기본색(앱 파랑)·워터마크 ON·이벤트/SCMS 미전송으로 폴백
user_id권장사용자 식별자. 워터마크·수강 이력에 씀
title선택방송 제목. 라이브 창 제목으로 쓰임
chat_token선택라이브 채팅 토큰(JWT). 있으면 채팅 패널이 켜집니다. LMS가 발급
chat_id선택채팅 세션 ID. 없으면 chat_token에서 유도
chat_base선택채팅 API 주소. 없으면 기본값
content_value선택서비스측 콘텐츠 식별자 (이벤트용)
config선택프로세스 감시 목록 URL. 없으면 라이선스의 pc_config_url → 기본
drm선택widevine(기본) 또는 clearkey

license를 꼭 넣어 주세요. 안 넣으면 라이브 플레이어가 고객사 브랜드 색이 아니라 앱 기본 파란색으로 뜨고, 수강 이력(app_event)·SCMS·워터마크 정책이 적용되지 않습니다.