Dolby
  • Up and Running
  • Amazon Web Services
  • Sources
  • Hybrik JSON
  • Video Filters
  • Audio Filters
  • Working with Audio
  • Task Modifiers
  • Source Pipeline
  • Segmented Rendering
  • Split Task
  • Processing Group IDs
  • Package Task
  • Analysis & Quality Control
  • Dolby Technologies
  • Additional Tasks
  • Hybrik Versions
  • QC Player
  • Machine Performance Analysis

    Split Task

    If you are looking for a way to distribute your transcodes across multiple instances, there are two options:

    • split_task
    • segmented_rendering read more in this tutorial

    transcode_auto_split can be applied as a job_modifier task to split up encoding of multiple targets in a transcode task. This will distribute the targets across multiple instances for the purpose of completing a job more quickly. It can also be combined with segmented_rendering for further parallelization and control.

    Possible values are:

    • smart
      • This will attempt to distribute more resource-intensive encodes to their own instances and group lighter encodes together.
    • aggressive
      • This will spread every transcode target to its own instance. This is useful if you have many resource-intense encodes

    Visual Guide

    Here is a visual representation of what is happening when using each of the transcode_auto_split options.

    Mode: smart

    split_task_smart example

    {
        "uid": "job_modifier_task",
        "kind": "script",
        "payload": {
            "kind": "job_modifier",
            "payload": {
                "modifiers": [
                    {
                        "kind": "transcode_auto_split",
                        "target_element_uid": "transcode_task",
                        "mode": "smart"
                    }
                ]
            }
        }
    },
    

    Mode: aggressive

    split_task_aggressive example

    {
        "uid": "job_modifier_task",
        "kind": "script",
        "payload": {
            "kind": "job_modifier",
            "payload": {
                "modifiers": [
                    {
                        "kind": "transcode_auto_split",
                        "target_element_uid": "transcode_task",
                        "mode": "aggressive"
                    }
                ]
            }
        }
    },
    

    No Split

    split_task_disabled example This is the default behavior when the job contains no split task modifier

    Instance Size

    It is important to balance appropriate instance sizes when using the split modifier. You may not want to go from a single transcode task on a massive CPU instance to spreading out every transcode target on their own massive instance. You would likely want to send the job to a series of medium-powered instances instead. Read more on Machine Performance.

    Examples

    • Split Task Example
    • See Segmented Rendering for temporally segmenting transcodes