SDK 퀵 스타트 가이드

퀵 스타트 소개

SDK 퀵 스타트는 PallyCon 서비스를 적용하기 전에 먼저 체험할 수 있도록, PallyCon 서비스와 연동되는 게이트웨이 페이지와 패키징 및 재생 기능에 대한 샘플을 제공합니다.

allsteps

주의

  • 퀵 스타트는 콜백 게이트웨이 방식을 기준으로 작성되었습니다. 토큰 방식의 연동에 대한 내용은 라이선스 토큰 API 가이드를 참고하시기 바랍니다.
  • 퀵 스타트를 통해 구축된 서버는 테스트용으로만 사용 가능하며, 실제 서비스 적용을 위해서는 별도의 서버 환경에 구축하셔야 합니다.

퀵 스타트 1단계

step1

퀵 스타트 1단계에서는 기본으로 제공되는 샘플 페이지를 테스트 환경에 구축하게 됩니다.

1. 관련 웹 서비스 가입

퀵 스타트 진행을 위해, PallyCon 어드민 사이트클라우드 개발환경(Cloud9 IDE)에 각각 가입합니다.

  • PallyCon 어드민 사이트: PallyCon 서비스에 가입 후, 어드민 사이트에 로그인해 서비스 요청을 합니다. 제품 유형은 'PallyCon SDK'를 선택합니다.

service request

PallyCon Admin 바로가기

  • Cloud9 IDE 사이트: 클라우드 상의 가상 머신에 개발 환경을 탑재해서 제공해주는 서비스입니다. 온라인에서 직접 코드 작성과 실행이 가능하며, 퀵 스타트 샘플 페이지를 구동하는 테스트용 웹 서버로 사용됩니다. 가입 과정에서 신용카드 등록이 필요하지만, 무료 계정으로 사용하면 과금되지 않습니다.

Cloud9 사이트 바로가기

2. Cloud9 워크스페이스 생성

워크스페이스는 PallyCon 퀵 스타트 테스트에 사용될 Cloud9의 가상 서버 환경입니다. 아래와 같은 과정으로 워크스페이스를 생성합니다.

참고

Cloud9 사이트는 크롬과 파이어폭스 브라우저만을 지원합니다. IE/엣지/사파리 등의 브라우저에서는 정상 작동되지 않을 수 있으니 지원되는 브라우저를 사용해 주시기 바랍니다.

  • Cloud9 사이트에 로그인 후, 워크스페이스 화면에서 'Create a new workspace' 버튼을 클릭합니다.
  • 'Workspace name' 항목에 'pallycon-quickstart'를 입력합니다.
  • 'Clone from Git or Mercurial URL' 항목에 다음 Github 저장소 URL을 입력합니다.
https://github.com/inka-pallycon/pallycon-quickstart-node
  • 'Choose a template' 항목에서 'Node.js'를 선택하고 'Create workspace' 버튼을 클릭합니다.

workspace

3. 테스트용 웹서버 실행 및 샘플 재생

워크스페이스 생성이 완료되면 Cloud9 IDE 화면이 표시됩니다. 퀵 스타트 테스트용 웹 서버를 실행하고 샘플 영상 재생을 확인하기 위해 다음 과정을 진행합니다.

  • 필요한 Node.js 모듈을 설치하기 위해 화면 하단의 bash shell 영역에서 'npm install' 커맨드를 실행합니다.

install

  • 모듈 설치가 완료되면 웹 서버 실행 환경 설정을 위해 Cloud9 IDE 메뉴의 'Run > Run Configurations > New Run Configuration' 항목을 실행합니다.
  • 화면 하단에 실행 환경 탭이 표시되면 아래 화면과 같이 실행 환경 이름('no debug')과 실행 명령('server.js')을 입력하고 우측의 Debug Mode 토글 버튼을 클릭해 Debug Mode를 해제합니다. 아래 캡쳐 화면과 같이 해당 버튼이 회색이어야 합니다.
  • 'Run' 버튼을 클릭해 웹서버를 실행합니다.

run

  • 브라우저 새창을 열고 테스트 웹서버에 접속합니다. 웹서버의 주소는 다음과 같으며, Cloud9 IDE 화면 하단의 출력창에서도 확인할 수 있습니다.
https://pallycon-quickstart-'Cloud9 username'.c9users.io

url

참고

웹서버 URL에서 'Cloud9 username' 부분은 사용하시는 Cloud9 계정의 사용자명을 입력하셔야 합니다.

  • 테스트 환경이 정상적으로 세팅된 경우, 아래와 같이 DASH 플레이어 데모용 동영상이 재생됩니다.

play

참고

DASH 플레이어 데모는 DASH-CENC를 지원하는 웹 브라우저(IE11, 엣지, 크롬, 파이어폭스)에서만 동작됩니다. 데모용 콘텐츠에는 HDCP 옵션이 적용되어 HDCP 지원 환경에서만 재생됩니다. 영상이 재생되지 않고 검은 화면만 표시되는 경우에는 모니터의 HDCP 지원여부를 확인하시기 바랍니다.

위 페이지에서 재생되는 영상은 데모용으로 패키징된 MPEG-DASH 스트리밍 영상입니다. PallyCon 멀티DRM이 적용되어 브라우저 환경에 따라 PlayReady(IE11, 엣지) 또는 Widevine(크롬, 파이어폭스) DRM이 자동 적용됩니다.

퀵 스타트 2단계

step2

주의

퀵 스타트 샘플은 테스트 및 참고용으로, 실제 서비스에 적용하기 위해서는 고객사의 서비스 정책과 개발 언어에 맞는 게이트웨이 페이지를 직접 작성해서 고객사의 서비스 시스템에 구축하셔야 합니다.

퀵 스타트 2단계에서는 게이트웨이 페이지를 설정하고 샘플 영상의 패키징과 DASH 플레이어 재생을 테스트합니다. 게이트웨이는 PallyCon 클라우드 서버와 고객사의 서비스 시스템 간의 정보 교환에 사용되는 웹 페이지로, 아래와 같은 두 개의 웹 페이지가 사용됩니다.

  • 콘텐츠 ID 이슈 URL (/CIDIssue) : 콘텐츠 패키징 시에 호출되며, 해당 파일에 대한 ID(Content ID)를 생성하여 리턴합니다. CLI 패키져 실행 시 CID 파라미터를 생략하거나 APP 패키져를 사용해 패키징 하는 경우에 호출되며, CLI 패키져로 CID를 직접 입력해 패키징하는 경우에는 이 페이지가 사용되지 않습니다.
  • 콘텐츠 사용 정보 URL (/ContentUsageRightsInfo) : 패키징된 콘텐츠의 재생을 위해 라이선스를 요청할 때 호출되며, 고객사의 서비스 시스템에 연동되어 해당 사용자에 대한 콘텐츠 사용 권한을 확인 후 고객사의 BM에 따른 라이선스 설정값을 리턴합니다. (재생 가능 기간, 외부 디스플레이 허용 여부 등)

퀵 스타트 샘플의 게이트웨이 페이지에는 테스트용 기본 값이 설정되어 있습니다. 실제 서비스에 적용할 때에는 해당 페이지의 소스를 참고해 필요한 로직을 구현하시기 바랍니다.

1. 게이트웨이 URL 설정

참고

URL에서 'Cloud9_username' 부분은 사용하시는 Cloud9 계정의 사용자명을 입력하셔야 합니다.

  • 화면 상단의 '편집'버튼을 클릭합니다. 화면 아래쪽의 '콘텐츠 ID 이슈 URL'과 '콘텐츠 사용 정보 URL' 항목에 아래와 같이 URL을 입력합니다.
콘텐츠 ID 이슈 URL : https://pallyon-quickstart-Cloud9_username.c9users.io/CIDIssue
콘텐츠 사용 정보 URL : https://pallyon-quickstart-Cloud9_username.c9users.io/ContentUsageRightsInfo
  • '확인' 버튼을 클릭해 URL 설정값을 저장하고 '사이트 ID', '사이트 키', '액세스 키' 정보를 확인합니다. 이 값들은 다음 과정에 사용됩니다.

2. 퀵 스타트 데모 사이트 설정

PallyCon 어드민 사이트에서 확인한 '사이트ID', '사이트 키', '액세스 키' 값을 퀵 스타트 데모에 적용합니다.

config button

  • 설정 페이지에 게이트웨이 연동 관련 정보를 입력하고 'Save Settings' 버튼을 클릭합니다. (IV값은 고정입니다)

config

참고 설정 페이지 하단의 '재생 테스트 설정' 부분은 다음 단계에서 패키징 테스트 후 업데이트 합니다.

3. CLI 패키져 설치 및 샘플 영상 패키징

리눅스 Command Line 환경에서 사용하는 CLI 패키져를 사용해 샘플 mp4 동영상을 DASH-CENC와 NCG DRM으로 패키징합니다.

  • Cloud9 IDE로 이동해 화면 하단의 bash shell을 클릭합니다.

  • 아래 명령문을 실행해 CLI 패키져를 개발 환경에 설치합니다. CLI Packager는 ~/workspace/packager 경로에 설치되며, Cloud9 IDE화면 좌측의 Workspace 트리뷰에서 확인할 수 있습니다. 패키져와 함께 패키징 테스트용 샘플 영상 파일도 자동으로 다운로드됩니다.

$ ./install_packager.sh

install packager

  • 설치가 완료되면 패키져 폴더로 이동($ cd packager) 후, 다음 명령문을 입력해 샘플 영상을 패키징합니다. 패키징된 DASH-CENC 및 NCG 파일은 ~/workspace/public/contents 폴더에 저장됩니다.
$ ./PallyConPackager --i sintel-trailer-480p.mp4 --o ~/workspace/public/contents --dash --hls --ncg --site-id '사이트 ID' --access-key '액세스 키'

패키져 명령문에서 '사이트 ID'와 '액세스 키' 항목은 PallyCon 어드민 사이트에서 확인한 값을 입력합니다. (' ' 제외)

4. 패키징된 DASH 콘텐츠 재생

이전 단계에서 패키징된 샘플 영상을 퀵 스타트 DASH 데모 페이지에서 재생 확인합니다.

  • 패키징된 콘텐트의 ID값을 확인하기 위해 PallyCon 어드민 사이트로 접속합니다. '콘텐츠 패키징 기록' 메뉴을 클릭하면 해당 기록을 조회할 수 있습니다.

  • 퀵 스타트 데모 사이트의 설정 페이지로 이동합니다. ('데모사이트 주소'/config)

참고

스트리밍 URL에서 'Cloud9_username'부분은 사용하시는 Cloud9 계정의 사용자명을 입력하셔야 합니다.

  • PallyCon 어드민 사이트에서 확인한 콘텐츠 ID와 다음의 스트리밍 URL을 입력하고 'Save Settings' 버튼을 클릭해 저장합니다.
Stream URL: https://pallycon-quickstart-Cloud9_username.c9users.io/contents/sintel-trailer-480p_mp4/stream.mpd

play setting

  • 'Back to Sample Player' 버튼을 클릭해 DASH 데모 페이지로 이동하면, 2단계에서 패키징한 콘텐츠가 DASH 플레이어에서 재생되는 것을 확인할 수 있습니다.

퀵 스타트 3단계

step3

본 가이드에서는 NCG iOS SDK를 기준으로 설명합니다. NCG Android SDK나 Widevine, FPS SDK의 경우에도 유사한 방법으로 테스트할 수 있습니다.

퀵 스타트 3단계에서는 모바일 SDK의 샘플 앱을 이용해 2단계에서 패키징한 NCG 콘텐트를 재생합니다.

1. 클라이언트 SDK 다운로드

  • 서비스 계약 시 요청한 OS별 클라이언트 SDK를 헬프데스크 사이트에서 다운로드합니다. 헬프데스크 계정과 클라이언트 SDK 요청에 대해서는 저희 고객 담당자에게 문의하시기 바랍니다.
  • 다운로드 받은 SDK 압축파일을 작업 폴더에 압축 해제합니다.

2. 클라이언트 SDK 샘플 프로젝트 수정

  • 압축 해제한 NCG iOS SDK의 'sample' 폴더에서 'NCG_SDK_Sample.xcodeproj' 파일을 더블 클릭해 XCODE를 실행합니다.
  • 2단계에서 패키징한 NCG콘텐츠의 URL을 소스에 추가합니다. 샘플 소스 중에서 'TableViewList.m' 파일을 오픈하고, createLocalList 함수의 urlStringList와 titleList 배열에 각각 다음와 같은 항목을 추가합니다.
urlStringList: @"https://pallycon-quickstart-'Cloud9 username'.c9users.io/contents/sintel-trailer-480p.mp4.ncg",
titleList: @"MP4 Content: Sintel Trailer",

local list

참고

createLocalList 함수는 다운로드/로컬재생 테스트용 영상 목록을 만드는 함수입니다. PD(Progressive Download) 기능을 테스트하려면 createPDList 함수에 동일한 항목을 추가하면 됩니다.

  • 'Utility.h' 파일을 열어 'kTestUserID'에 정의된 사용자 ID값을 'valid-user'로 수정합니다.

user id

3. 샘플 앱 빌드 및 콘텐츠 재생 확인

  • 시뮬레이터 또는 테스트할 iOS 기기를 대상으로 샘플 프로젝트를 빌드하고 실행합니다.
  • 다운로드 목록에서 'Sintel Trailer' 항목을 터치해 NCG 파일을 다운로드 합니다.

download

  • 파일 다운로드 완료 후 라이선스를 획득하면 영상 재생이 시작됩니다.

play

축하합니다! 여기까지 문제없이 진행하셨다면 PallyCon SDK를 적용하는데 필요한 전 과정을 체험하신 것입니다. 보다 상세한 내용은 아래 이어지는 설명과 콜백 API 가이드, 그리고 SDK에 포함된 레퍼런스 문서를 참고하시기 바랍니다.

퀵 스타트 샘플 설명

퀵 스타트 샘플의 동작을 이해하기 위해서는, 먼저 Service Provider와 Service Site, PallyCon 서비스와 게이트웨이(Gateway)의 관계를 이해해야 합니다.

Service Provider와 Service Site

Service Provider는 PallyCon 서비스의 고객으로, 최종 사용자에게 동영상 서비스를 제공하는 주체입니다. Service Site는 Service Provider가 최종 사용자(User)에게 제공하는 동영상 서비스 사이트를 말합니다.

service site

Service Provider는 PallyCon Admin에서 여러 개의 Service Site를 생성할 수 있습니다. 각 Service Site마다 PallyCon 서비스를 구축하여야 사용자에게 DRM 서비스를 제공할 수 있습니다.

PallyCon 서비스와 게이트웨이(Gateway)

PallyCon 서비스는 다음과 같은 구조로 되어 있습니다.

  • 클라우드 서버: 잉카 엔트웍스에서 운영하는 서버로 PallyCon Admin 등 모든 PallyCon 서비스 사이트를 포함하고 있습니다. 이 서버는 PallyCon 서비스에서 제공하는 클라이언트가 DRM 콘텐츠를 생성하거나 사용하기 위한 필요한 정보를 생성 또는 전달합니다. 이 정보를 얻기 위해 서버에서는 Service Site와 연동되어 정보를 요청합니다. 이 정보를 얻지 못할 경우, PallyCon 서비스는 동작하지 않습니다.
  • Packager: 원본 콘텐츠를 DRM 콘텐츠로 변환하는데 사용하는 클라이언트입니다.
  • Client SDK: DRM 콘텐츠를 사용하기 위한 클라이언트입니다. 모바일 앱에서 DRM 콘텐츠의 사용을 위해 Client SDK의 적용이 필요합니다.

    PallyCon 서비스와 Service Site 간의 통신을 위해 사용되는 모듈을 게이트웨이라고 부릅니다.

gateway

퀵 스타트 샘플

퀵 스타트 용으로 Service Provider에서 개발해야 하는 게이트웨이를 샘플(Quick Start Sample)로 제공합니다. 샘플은 Node.js 외에 PHP, JSP, Python의 형태로도 제공되기 때문에 Service Provider에서 원하는 플랫폼으로 다운로드 받아 사용하실 수 있습니다. 그와 함께, PallyCon 서비스의 체험을 위해 패키져를 제공합니다.

quickstart service

퀵 스타트 샘플은 서비스 사이트에서 입력해야 하는 각종 설정 값이 기본값으로 설정되어 있습니다. 실제 서비스 사이트에 적용하기 위해서는 해당 부분을 구현해서 처리해야 합니다.

콘텐츠 패키징

퀵 스타트를 이용해 게이트웨이의 구축이 끝나면, PallyCon 서비스 체험을 위한 준비가 완료됩니다. PallyCon 서비스 체험은 DRM 콘텐츠를 생성(패키징)하는 것부터 시작하며, 이 작업은 패키져에서 이루어집니다.

PallyCon 서비스의 패키져는 어플리케이션 타입과 CLI(Command Line Interface) 타입으로 제공하고 있습니다.

콘텐츠 패키져의 자세한 사용 방법은 패키저 다운로드 파일에 포함된 문서를 참고하시기 바랍니다.

사용 내역 조회하기

PallyCon 서비스를 체험하면서 사용한 서비스에 대한 내역을 PallyCon 어드민 사이트에서 조회할 수 있습니다. 조회 가능한 내용은 DRM 콘텐츠 생성 내역(패키징 이력), 라이선스 발급 내역 등에 대한 내용입니다.


results matching ""

    No results matching ""