Skip to main content

Create an Encoding Job

To create streamable DASH and HLS assets, you need to submit a Video on Demand (VOD) encoding request. Before you begin, ensure that you have:

  • Video files uploaded to the Video Library
  • Additional assets, such as subtitles or watermarks, if needed
  • Resource IDs for all required content

For more information about uploading to Video Library, see Upload Assets.

Here's a simple diagram of the encoding job process:

Create VOD Encoding Job

Once all the required resources are prepared and you have their corresponding IDs, you can create the VOD encoding request. You can also specify detailed settings using the supported parameters described below. To create and edit a VOD, using the following APIs:

ParametersRequiredDescription
nameRequiredName of the VOD
profile_set_idRequiredSpecify the ID of ProfileSet to apply to the VOD
sourceRequiredRefer to the steps to define the type of source file and create associate object
queueRequiredDefine the processing speed for the encoding job:
  • QUEUE_STANDARD: Standard processing speed
  • QUEUE_PRIORITY: Faster processing speed
  • securityRequiredContent protection settings for the VOD.
    scheduleRequiredDefine the availability schedule for the VOD.
    permissionRequiredManage file permissions based on different roles. Enable to grant individual permission to a specific user or group as well.
    pteOptionalSet to PTE_PROFILE_HIGH if you would like to enable the per-title encoding.
    metadataOptionalDefine description and labels for the VOD.
    exportOptionalDefine the export setting of the VOD.
    byo_cdnOptionalDefine the setting of bring-your-own cdn.
    playerOptionalCustomize the preferences on player.
    modeOptional
  • ENCODING_MODE_QUALITY_FIRST: Prioritizes the highest quality, but requires more encoding time (default).
  • ENCODING_MODE_SPEED_FIRST: Minimizes encoding time as much as possible without compromising quality.
  • Create Source Object

    Based on the source type, create the source object accordingly:

    "source":{
    "type":"SOURCE_TYPE_LIBRARY",
    "library":{
    "video":{
    "id":"your_video_id_in_library"
    }
    }
    }
    "source":{
    "type":"SOURCE_TYPE_CLOUD_STORAGE",
    "cloud_storage":{
    "id":"your_cloud_storage_id",
    "file_path":"/path/to/cloud/storage/file.mp4"
    }
    }