Transcoding & Packaging Service Guide

This document is a user manual with steps for using PallyCon’s new SaaS based Transcoding & Packaging service.

Overview

PallyCon’s Transcoding & Packaging (T&P) service is a complete SaaS based solution to transcode, encrypt with Multi-DRM and apply forensic watermark in a single workflow.

This solution is easy to use, economical, compatible with players supporting Multi- DRM and reduces time to market without compromising on the quality of the video content.

This service supports a wide range of input videos to be transcoded with desired set of resolutions ready for streaming, thereby saving time and money. This service is aimed at customers who want to secure their content and stream it across a large audience quickly without any-coding.

Prerequisites

T&P service supports three types of job as follows. You must subscribe to at least one of PallyCon multi-DRM and Forensic Watermarking service to use T&P service.

  1. Transcode & apply Forensic Watermark & DRM
  2. Transcode & apply DRM
  3. Transcode & apply Forensic Watermark

Tutorial Video

Step-by-Step Guide

Different steps involved in the Transcoding & Packaging are as follows:

  • Step 1: Select an AWS region for transcoding job
  • Step 2: Register Amazon S3 storages for input and output
  • Step 3: Create a job with different content protection options
  • Step 4: View job status and history

Step 1: Set Transcoding Region

After logging in to PallyCon Console, go to the Setting screen of Transcoding & Packaging menu.

  1. Click on the pencil icon to edit the transcoding region.
  2. From the dropdown list, select a region you want to use for transcoding jobs.
    At present 3 regions (Oregon , Seoul and Singapore) are supported (If a different region is required, please raise a helpdesk ticket).

Now that the region is set for transcoding, step 1 is complete and this step is common for all the 3 job types.

Step 2: Register Storages

Once the transcoding region is set, the next step is defining the AWS S3 bucket details where the input and output video files would be stored. Steps for the storage setting is as follows:

  1. Go to Storage List screen under the Transcoding & Packaging menu.
  2. Click on the Register button to open the storage registration screen.

Tip: If you are registering the storage for the first time, select both Input and Output checkbox as shown above. If the AWS access key and secret key for both storages are the same, then select Use the same credentials.

  1. Once the details are entered, click the Register button at the bottom of the screen.
  2. If there is no issue in accessing the S3 bucket with the access key and secret key, the storage registration would be successful and the list would be populated as shown below.

Step 3: Create Job

This is the main step for creating the transcoding job and applying content protection.

You can apply either Forensic Watermarking or Multi-DRM or both according to your subscription type and content security requirements.

Before proceeding on this step, you need to first upload the content to be processed on the registered S3 bucket, then click on the Create Job submenu.

3.1 Transcode & apply Forensic Watermark & DRM

This option is valid only for customers subscribed for both PallyCon’s Multi-DRM and Forensic Watermarking service.

Processes to apply Forensic Watermarking and DRM
Processes to apply Forensic Watermarking and DRM
  1. Copy the content to be transcoded and protected on the registered S3 bucket.
  2. On the PallyCon Console, navigate to Create Job option under the Transcoding & Packaging menu.
  3. Select the job type as Transcode & apply Forensic Watermark & DRM.
  4. Complete all the 5 steps as mentioned in section 3.4 to provide necessary inputs.
  5. PallyCon SaaS service transcodes the content, pre-processes to generate A/B variant, encrypts with Multi-DRM, packages it with DASH/HLS/CMAF and finally uploads the streaming ready content to the registered output folder on S3.
  6. After the job is registered, you can check the status and history.

Supported Specification

Input Format and Codec

Format Video Codec Audio Codec
MPEG-4 AVC(H.264), HEVC(H.265) AAC, AAC_LC,AC3, EAC3, HEAAC_V2

Output Format and Codec

Format Video Codec Audio Codec
DASH, HLS, CMAF AVC(H.264), HEVC(H.265) AAC, AAC_LC,AC3, EAC3, HEAAC_V2

3.2 Transcode & apply DRM

Processes to apply DRM only
Processes to apply DRM only
  1. Copy the content to be transcoded and protected on AWS S3 bucket.
  2. On PallyCon Console, navigate to Create Job screen under Transcoding & Packaging menu.
  3. Select the job type as Transcode & apply DRM.
  4. Complete all the 5 steps as mentioned in section 3.4 to provide necessary inputs.
  5. PallyCon SaaS service transcodes the content, encrypts with Multi-DRM, packages it with DASH/HLS/ and finally uploads the streaming ready content to the registered output folder on S3.
  6. After the job is registered, you can check the status and history.

Supported Specification

Input Format and Codec

Format Video Codec Audio Codec
IMF Apple ProRes, JPEG 2000 (J2K) aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav
Matroska (MKV) AVC (H.264), PCM, MPEG-2, MPEG-4 part 2, VP9 aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav
MPEG Program Streams (MPEG-PS) MPEG-2 aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav
MPEG Transport Streams (MPEG-TS) AVC (H.264), HEVC (H.265), MPEG-2 aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav
MPEG-1 System Streams MPEG-1, MPEG-2 aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav
MPEG-4 Uncompressed, AVC Intra 50/100, H.261, H.262, H.263, AVC (H.264), HEVC (H.265), JPEG 2000, MPEG-2, MPEG-4 part 2 aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav
MXF Uncompressed, Apple ProRes , AVC Intra 50/100, VC-3, DV/DVCPRO, DV25, DV50, DVCPro HD, AVC (H.264), JPEG 2000 (J2K), MPEG-2, SonyXDCam, SonyXDCam MPEG-4 Proxy aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav
QuickTime Uncompressed, Apple ProRes , AVC Intra 50/100, DV/DVCPRO, H.263, AVC (H.264), HEVC (H.265), JPEG 2000 (J2K), MJPEG, MPEG-2, MPEG-4 part 2, QuickTime Animation (RLE), DNxHD aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav

Output Format and Codec

Format Video Codec Audio Codec
DASH, HLS, CMAF AVC(H.264), HEVC(H.265) AAC, AAC_LC,AC3, EAC3, HEAAC_V2

3.3 Transcode & apply Forensic Watermark

Processes to apply Forensic Watermarking only
Processes to apply Forensic Watermarking only
  1. Copy the content to be transcoded and protected on AWS S3 bucket.
  2. On PallyCon Console, navigate to Create Job screen under Transcoding & Packaging menu.
  3. Select the job type as Transcode & apply Forensic Watermark.
  4. Complete all the 5 steps as mentioned in section 3.4 to provide necessary inputs.
  5. PallyCon SaaS service transcodes the content, pre-process to generate A/B variant, packages it with DASH/HLS/CMAF and finally uploads the streaming ready content to the registered output folder on S3.
  6. After the job is registered, you can check the status and history.

Supported Specification

Input Format and Codec

Format Video Codec Audio Codec
MPEG-4 AVC(H.264), HEVC(H.265) AAC, AAC_LC,AC3, EAC3, HEAAC_V2

Output Format and Codec

Format Video Codec Audio Codec
DASH, HLS, CMAF AVC(H.264), HEVC(H.265) AAC, AAC_LC,AC3, EAC3, HEAAC_V2

3.4 Job Creation Details

This section describes the job creation steps in detail.

Step 1/5: Job Type Selection

Select the Job type as per your content security requirement.

Step 2/5: Configure input and output storages
  • Job Name: Enter an arbitrary name to distinguish the job. (Special characters and spaces cannot be used, maximum 50 bytes)
  • Content ID: Enter the unique ID (Content ID) of the content to be packaged. (Special characters cannot be used, maximum 200 bytes)
  • Input Storage Name: Select the input storage from the list that you registered in the previous step.
  • Video Path: Enter the path of the source video file (mp4) in the storage, excluding the bucket name. (For example, source/test1.mp4 where source is the folder name)
  • Additional Audio: Additional audio path can be provided.
  • Subtitle or Caption file path: If you are packaging with subtitles, upload the subtitle file for each language to the same input storage as the source video, then input the corresponding path. (supports WebVTT subtitles only)
  • Output Storage Name: Select the output storage you registered in the previous step from the list.
  • Output Directory Path: Enter the output directory path where the final content would be uploaded.

In case of trial account, following conditions are applicable:

  • Video codec: H.264
  • Container: MP4
  • Audio codec: AAC included in the container
  • Maximum Length of video: 10 min
  • Output: DASH/HLS/CMAF with/without DRM encryption, multi-resolution
  • Only 2 jobs allowed
  • 1 video input with 1 audio track in the MP4 container. No separated audio or caption file input allowed. If multi audio tracks are present in the provided video file, an error message would be displayed.

Limitations for commercial accounts are as below:

  • Video codec: H.264/H.265
  • Container: MP4 and MOV supported as of now for Forensic watermark related job
  • Max number of audio: 10
  • Max number of subtitles: 10
  • Video Frame rate supported : [23.98 , 24.0 , 25.0 , 29.97 , 30.0]
  • Only video with CFR (Constant Frame Rate) supported for Forensic watermark related jobs
The values of Video Path, Additional Audio and Caption File Path are case-sensitive. Please make sure to enter the correct value to avoid errors.
Step 3/5: Video configuration
  • Streaming Format: Select the streaming format to be packaged. (DASH/HLS/CMAF).
  • Codec: H.264 and H.265 supported
  • Frame Rate: Framerate of the input video displayed (Up to 30 fps supported currently)
  • Video Representation: By default, 5 different resolution presets are available. The resolutions are modifiable.
    • Click the X before the resolution to delete
    • Click the Add representation button to add new resolution
    • Enter the width, height, and bitrate values.
    • Supported values:
      • Width: Min = 416, Max = 3840
      • Height: Min = 234, Max = 2160
      • Bitrate(kbps): Minimum 10kbps, Maximum 100Mbps
  • Enable average bandwidth mpd: Select this option if average bandwidth needs to be applied in mpd
  • Minimum buffer time: Minimum time of initially buffered media that is needed to ensure smooth playout. (default: 2)

Current limitation on maximum number of resolution

  • For H.264 codec: up to 6 resolutions
  • For H.265 codec: up to 3 resolutions
Step 4/5: Audio configuration

This step provides the following set of configurations:

  • Codec: Preset values AAC, AAC_LC,AC3, EAC3, HEAAC_V2 supported
  • Bitrate: Preset values 64,96,128,160,192,224,256,
  • Language & Track: Audio track labels and audio language codes can be entered. (Example :lang=en:name=English Audio)
  • If additional audio or subtitle files were provided during the step 2/5, those would be displayed here.
Step 5/5: Trigger Job
  • Audio Track Encryption: Enable or disable encryption of audio track
  • Multi Key: Apply multiple encryption key sets for each track. You can set different resolutions for each video track type. (SD, HD, UHD1)
  • Multi Manifest: Create multiple manifest (playlist) files for multi-key packaging. For adaptive streams containing SD to UHD tracks, three manifests are created: SD_ONLY, SD_HD, and SD_UHD.
  • DRM Disable Section: Apply clear(unencrypted) part at the beginning of the packaged content. Default: 0 (second)

If the job type is Transcode & apply Forensic Watermark, there would be no DRM setting option in the step 5 as shown below.

Step 4: Job Status & History

Once the job is triggered, the details of the job status can be viewed under the Job Status & History page.

Search Conditions

  • Date: Weekly, Monthly, Yearly and Custom period
  • Job status: All, Fail, Progress, Success, Stop, Queued
  • Streaming Format: DASH, HLS, CMAF
  • Security type: DRM, Forensic watermark
  • Item: Job name, Job Id, Content ID

Job Information

  • Job ID: The job ID entered during the job creation task
  • Job Name: The Job name provided during the job creation task
  • Job Type: Type of the job according to content security option (Watermark, DRM)
  • Content ID: The content ID provided during the job creation task
  • Status: Different status to be displayed are: queued, progress, success, fail, stop
  • Streaming Format: Streaming Format as DASH/HLS or DASH, HLS, CMAF depending on the format selected
  • Created: The job registration/creation date and time in UTC
  • Completed: The job completion date and time in UTC. It would be empty if the job in progress or queued.
  • Detail: Provides the details of the job

Detailed Page

To view the detailed job description, click on the job name. The detailed view would be as follows:

Click on Output tab to view output details such as the codec and resolutions.

Tips and Tricks

Stopping a triggered job

If you want to stop a job, click on the job ID in the Job status & History page. Then click on the Stop button to terminate the job.

Restarting a job

Once the job is stopped, you can restart it by clicking the Restart button in the job detail page.

Cloning a job

If you want to create a job with the same settings for multiple original content, click the Clone button on the detail page of the job you initially registered and change the input/output file in step 2/5. In subsequent steps, the same settings will be applied automatically, allowing you to create a job for the new content simply by clicking the Next button.

Next Steps

In order to play the output DASH, HLS or CMAF content on the client device, you need to refer to the following guide according to the applied security option to proceed with the integration.

Next