SDK Quick Start Guide
Quick Start Overview
SDK Quick Start provides samples for PallyCon gateway interface, content packaging and content playback test to help you test PallyCon Multi-DRM service quickly.
Quick Start Step 1
In this step, you will setup the Quick Start sample on test environment.
1. Register on related web services
- PallyCon Admin site: After signing up on PallyCon service site, login to PallyCon Admin and request new service. You need to select 'PallyCon SDK' for product type.
- Cloud9 IDE site: An online service which provides cloud-based development environment on virtual machine. It is used for setting and running Quick Start sample codes. Though credit card registration is required, you will not be charged as long as you use free plan.
2. Create Cloud9 workspace
Workspcace is virtual server environment on Cloud9 which will be used for PallyCon Quick Start test. You can create a workspace as below stpes.
Cloud9 site supports Chrome and FireFox browsers only. You cannot use Internet Explorer, Edge or Safari browser for Quick Start test.
- Login to Cloud9 site and click 'Create a new workspace' button on workspace screen.
- Type 'pallycon-quickstart' for 'Workspace name' item.
- Copy and paste the below Github repository URL at 'Clone from Git or Mercurial URL' item.
- Click 'Node.js' item in 'Choose a template' and click 'Create workspace' button.
3. Run test web server and playback sample
After creating workspace, Cloud9 IDE screen will be shown. Please follow the below steps to run Quick Start test web server and check sample video playback.
- In bash shell tab at the bottom of the screen, run 'npm install' command to install required Node.js modules.
- After node module installation, click 'Run > Run Configurations > New Run Configuration' in the Cloud9 IDE menu to set run configuration.
- In the run configuration tab shown below, input the name of configuration('no debug') and command('server.js'). Then click the green icon to disable debug mode. (the icon should be gray)
- Click 'Run' button to launch the web server.
- Open a new browser window and connect to the test web server. The URL to the test web server is shown below. You can also check the URL on the log tab at the bottom of the IDE screen.
You need to replace Cloud9_username part of the URL with your own Cloud9 account name.
- If your test environment has no issue, a sample video will be played on the webpage as DASH player demo.
DASH player demo works on web browsers which support DASH-CENC. (ex: IE11, Edge, Chrome, FireFox) HDCP is required to play demo content. If you can see black screen only, please check whether your monitor supports HDCP.
The demo video is played via MPEG-DASH streaming. It is packaged with PallyCon Multi-DRM so that it can work with PlayReady or Widevine CDM embeded in each supported browser.
Quick Start Step 2
Quick Start sample is for test and reference only. To apply it to your service, you need to build your own gateway pages and run them inside of your contents management system.
In this step, you will configure gateway pages and test content packaging and DASH playback. Gateway pages are web pages for the interface between PallyCon Cloud server and your service system.
- Content ID Issue URL (/CIDIssue) : This page is used by content packager. It generates and returns unique ID for the packaged content file. This is called when the CID parameter is omitted for content packaging with CLI packager or when content is packaged using the APP packager. This page is not used when the CID is manually entered by CLI packager's parameter.
- Content Usage Rights Info URL (/ContentUsageRightsInfo) : This page is useb by client player when it plays a packaged content. The page accesses your content management system to check the user's right for the content, and returns appropriate license data by your service policy. (ex: set playback period limit, disallow external display)
Quick Start sample's gateway pages have default settings for test. You need to apply your own logic to the pages for your service.
1. Set Gateway URL
- Login to PallyCon Admin site using the account you created in setp 1. Click 'Settings' menu on the left side.
Replace 'Cloud9_username' in the URLs with your own Cloud9 account name.
- Click 'Edit' button on top right. And input the below URLs at the bottom of the screen. ```
- Content ID Issue URL : https://pallyon-quickstart-Cloud9_username.c9users.io/CIDIssue
Content Usage Info URL : https://pallyon-quickstart-Cloud9_username.c9users.io/ContentUsageRightsInfo ```
Save the URLs by clicking 'OK' button on top right. Chck 'Site ID', 'Site Key' and 'Access Key' info which will be used in the next step.
2. Configure Quick Start Demo
Apply the 'Site ID', 'Site Key' and 'Access Key' values to the Quick Start demo you created.
- Go to the DASH demo page which you visited in Step 1. (https://pallycon-quickstart-Cloud9_username.c9users.io)
- Scroll down and click 'Go to Config' button.
- Input 'Gateway Integration Settings' as below and click 'Save Settings' button. 'IV' is fixed value.
NOTE You will configure 'Playback Test Settings' later, after packaging sample content.
3. Install CLI packager and package sample
In this step, you will package sample mp4 video to DASH-CENC and NCG DRM using Linux CLI packager.
Switch to Cloud9 IDE screen and click bash shell tab at the bottom.
Install CLI packager on Cloud9 environment by running the below command. CLI Packager will be installed in ~/workspace/packager and it will be shown on Workspace treeview on left side of Cloud9 IDE. A sample video content will be downloaded along with the packager.
- After packager installation, go to packager folder($ cd packager) and package the sample video using the below command. Packaged DASH-CENC and NCG files will be stored in ~/workspace/public/contents folder.
$ ./PallyConPackager --i sintel-trailer-480p.mp4 --o ~/workspace/public/contents --dash --ncg --site-id 'Site ID' --access-key 'Access Key'
You need to replace 'Site ID' and 'Access Key' with your own key values shown on PallyCon Admin site. (without ' ')
4. Playback packaged DASH content
In this step, you will check playback of the DASH content which is just packaged.
- To check the content's CID, go to PallyCon Admin site. The record can be found at 'Packaging Record' menu.
- Switch to Quick Start demo's config page. ('demo site URL'/config)
You need to replace 'Cloud9_username' part in the URL with your own Cloud9 account name.
- Input 'Playback Test Settings' with the content ID and the below stream URL. Click 'Save Settings' button.
- Stream URL: https://pallycon-quickstart-Cloud9_username.c9users.io/contents/sintel-trailer-480p_mp4/stream.mpd
- Click 'Back to Sample Player' button to go to DASH demo page. Now you can see the playback of sample content which you packaged in the above step.
Quick Start Step 3
This guide is written for NCG iOS SDK. You can also test NCG Android SDK or Widevine/FairPlay SDKs similarly.
In this step, you will build sample iOS app included in the SDK, and playback NCG content which was packaged in Step 2.
1. Download Client SDK
- PallyCon Client SDKs can be download at Helpdesk site after signing contract. Please contact our sales manager for the contract and SDK release.
- Extract the achieved SDK file to your work folder.
2. Edit SDK sample code
- Go to 'sample' folder in the iOS SDK and double click 'NCG_SDK_Sample.xcodeproj' file to launch Xcode.
- Add the NCG content(which was packaged in Step 2) URL to sample source. Open 'TableViewList.m' file and add the below lines in urlStringList and titleList array at 'createLocalList' function.
- urlStringList: @"https://pallycon-quickstart-Cloud9_username.c9users.io/contents/sintel-trailer-480p.mp4.ncg", - titleList: @"MP4 Content: Sintel Trailer",
The 'createLocalList' function is for download/local playback test. You can also test progressive download playback by adding the same to 'createPDList' function.
- Open 'Utility.h' file and edit 'kTestUserID' constant's value to 'valid-user'.
3. Build sample app and test playback
- Build the project for iOS simulator or test device, and run it.
- In the 'download' list of the app, tap 'Sintel Trailer' item to download the NCG content.
- After downloading content and acquiring license, the sample NCG content will be played.
Congraturations! You have experienced the overall process of PallyCon SDK integration. Please check the other guides and reference documents included in each SDK for more details.
QuickStart Sample Guide
To understand the behavior of the Quick Start sample, you first need to understand the relationship between Service Provider and Service Site, PallyCon service and Gateway.
Service Provider & Service Site
Service Provider is the customer of PallyCon service and the provider of the video service to the end user. Service Site is a video service site provided by Service Provider to end users.
Service Provider can manage multiple service sites on PallyCon Admin site. Each Service Site should be integrated with PallyCon service to provide DRM contents.
PallyCon Service & Gateway
PallyCon Service consists of the below modules.
- Cloud Server: It is a server operated by INKA ENTWORKS and contains all PallyCon service sites such as PallyCon Admin. This server generates or delivers the necessary information for the clients provided by the PallyCon service to create or use DRM content. To obtain this information, the server asks the Service Site via Gateway page. If this information can not be obtained, the PallyCon service will not work.
- Packager: A client used to convert original content to DRM content.
- Client SDK: DRM client libraries used for application development. *The use of DRM content in the mobile app requires the application of the Client SDK.
The module used for communication between PallyCon service and Service Site is called 'Gateway'.
We provide samples of gateway to be developed by Service Provider for quick start. In addition to Node.js, samples are also available in PHP, JSP, and Python, so you can choose and download them for your preferred platform. Together with that, we provide content packager for QuickStart.
Quick start sample has default values which should be set by service site. In order to apply to actual service site, you have to implement and process the setting.
Once the gateway is built using QuickStart, you are ready to use PallyCon service. The next step is creating(packaging) DRM content using PallyCon Packager.
PallyCon Packager is provided as application type and CLI(command line interface) type.
For more information on how to use PallyCon Packager, please refer to the documentation included in the packager download file.
The details of PallyCon service usage can be found on PallyCon Admin site. You can check histories of DRM content packaging and license issuance as well as service billing.