Skip to content

create-job Settings CaptionDescriptions destinationType Error with a template

0

When creating a job with a template and with the following OutputGroups settings for updating the LanguageCode and WebvttDestinationSettings.Accessibility I get the error :

An error occurred (BadRequestException) when calling the CreateJob operation: /outputGroups/0/outputs/0/captionDescriptions/0/destinationSettings/destinationType: Should be equal to one of the allowed values in ["BURN_IN","DVB_SUB","EMBEDDED","EMBEDDED_PLUS_SCTE20","SCTE20_PLUS_EMBEDDED","TELETEXT"]

JSON OutputGroups settings :

{
  "OutputGroups": [
    {
      "CustomName": "HLS OTT with sidecar VTT",
      "Name": "File Group",
      "OutputGroupSettings": {
        "HlsGroupSettings": {
          "Destination": "s3://outputs/sample-1-hls",
          "CaptionLanguageSetting": "NONE"
        }
      },
      "Outputs": [
        {
          "CaptionDescriptions": [
            {
              "CaptionSelectorName": "Captions Selector 1",
              "LanguageCode": "ENG",
              "LanguageDescription": "English (Forced)",
              "DestinationSettings": {
                "DestinationType": "WEBVTT",
                "WebvttDestinationSettings": {
                  "Accessibility": "DISABLED",
                  "StylePassthrough": "ENABLED"
                }
              }
            }
          ]
        }
      ]
    }
  ],
  "Inputs": [
    {
      "AudioSelectors": {
        "Audio Selector 1": {
          "Offset": 0,
          "DefaultSelection": "DEFAULT",
          "ProgramSelection": 1
        }
      },
      "VideoSelector": {
        "ColorSpace": "FOLLOW"
      },
      "FilterEnable": "AUTO",
      "PsiControl": "USE_PSI",
      "FilterStrength": 0,
      "DeblockFilter": "DISABLED",
      "DenoiseFilter": "DISABLED",
      "TimecodeSource": "EMBEDDED",
      "FileInput": "s3://inputs/sample-1.mov",
      "CaptionSelectors": {
        "Captions Selector 1": {
          "SourceSettings": {
            "SourceType": "TTML",
            "FileSourceSettings": {
              "SourceFile": "s3://inputs/sample-1.ttml"
            }
          }
        }
      }
    }
  ]
}
```


Based on the definition of the fields destinationType settings, **WEBVTT ** should be supported.
> "DestinationType": "BURN_IN"|"DVB_SUB"|"EMBEDDED"|"EMBEDDED_PLUS_SCTE20"|"IMSC"|"SCTE20_PLUS_EMBEDDED"|"SCC"|"SRT"|"SMI"|"TELETEXT"|"TTML"|"WEBVTT",

and I can confirm this value is supported when creating the job with all settings without a job template.
asked a year ago90 views
4 Answers
0

You probably need to change File Group to Apple HLS output group.

AWS
answered a year ago
  • Hi Roman, my job template was already configured with the

    "OutputGroupSettings": { "Type": "HLS_GROUP_SETTINGS",

    but as proposed I changed also the outputGroups.Name from "File Group" to "Apple HLS" for the job settings.

    I still get the same error message.

0

Please check if caption is a separate stream. As captions can't be part of video/audio stream. It should be separate:

"OutputGroups": [
      {
        "Name": "Apple HLS",
        "Outputs": [
          {
            "ContainerSettings": {
              "Container": "M3U8",
              "M3u8Settings": {}
            },
            "VideoDescription": {
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "MaxBitrate": 600000,
                  "RateControlMode": "QVBR",
                  "SceneChangeDetect": "TRANSITION_DETECTION"
                }
              }
            },
            "AudioDescriptions": [
              {
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "Bitrate": 96000,
                    "CodingMode": "CODING_MODE_2_0",
                    "SampleRate": 48000
                  }
                }
              }
            ],
            "OutputSettings": {
              "HlsSettings": {}
            },
            "NameModifier": "_1"
          },
          {
            "ContainerSettings": {
              "Container": "M3U8",
              "M3u8Settings": {}
            },
            "OutputSettings": {
              "HlsSettings": {}
            },
            "NameModifier": "_2",
            "CaptionDescriptions": [
              {
                "CaptionSelectorName": "Captions Selector 1",
                "DestinationSettings": {
                  "DestinationType": "WEBVTT",
                  "WebvttDestinationSettings": {}
                }
              }
            ]
          }
        ],
        "OutputGroupSettings": {
          "Type": "HLS_GROUP_SETTINGS",
          "HlsGroupSettings": {
            "SegmentLength": 10,
            "Destination": "s3://111111/Output_temp",
            "MinSegmentLength": 0
          }
        }
      }
    ]
AWS
answered a year ago
  • yes, caption is a separate stream.

    the issue still persists with a custom configured job template. but when using the same json directly without template not error is generated.

0

Please describe your process in a bit more details.

I tried to create job manually:

    {
   "Queue": "arn:aws:mediaconvert:region:11111111:queues/Default",
  "UserMetadata": {},
  "Role": "arn:aws:iam::1111111:role/service-role/MediaConvert_Default_Role",
  "Settings": {
  "TimecodeConfig": {
     "Source": "ZEROBASED"
      },
    "OutputGroups": [
      {
       "Name": "Apple HLS",
        "Outputs": [
        {
           "ContainerSettings": {
             "Container": "M3U8",
            "M3u8Settings": {}
           },
            "VideoDescription": {
             "CodecSettings": {
               "Codec": "H_264",
               "H264Settings": {
              "MaxBitrate": 500000,
              "RateControlMode": "QVBR",
              "SceneChangeDetect": "TRANSITION_DETECTION"
            }
          }
        },
        "OutputSettings": {
          "HlsSettings": {}
        },
        "NameModifier": "_1"
      },
      {
        "ContainerSettings": {
          "Container": "M3U8",
          "M3u8Settings": {}
        },
        "OutputSettings": {
          "HlsSettings": {}
        },
        "NameModifier": "_2",
        "CaptionDescriptions": [
          {
            "CaptionSelectorName": "Captions Selector 1",
            "DestinationSettings": {
              "DestinationType": "WEBVTT",
              "WebvttDestinationSettings": {}
            }
          }
        ]
      }
    ],
    "OutputGroupSettings": {
      "Type": "HLS_GROUP_SETTINGS",
      "HlsGroupSettings": {
        "SegmentLength": 10,
        "Destination": "s3://11111/testing/11111",
        "MinSegmentLength": 0
      }
    }
  }
],
"FollowSource": 1,
"Inputs": [
  {
    "VideoSelector": {},
    "TimecodeSource": "ZEROBASED",
    "CaptionSelectors": {
      "Captions Selector 1": {
        "SourceSettings": {
          "SourceType": "TTML",
          "FileSourceSettings": {
            "SourceFile": "s3://111111/Input/111.ttml"
          }
        }
      }
    },
    "FileInput": "s3://1111111/Input/50p.mp4"
  }
]
   },
  "BillingTagsSource": "JOB",
 "AccelerationSettings": {
   "Mode": "DISABLED"
   },
 "StatusUpdateInterval": "SECONDS_60",
  "Priority": 0
   }

Then use it to create template through import template button

Then I can successfully execute job from created template.

AWS
answered 8 months ago
-1

The error you're encountering is due to a mismatch between the allowed values for the destinationType field in the job template and the value you're trying to set.

When using a job template in AWS Elemental MediaConvert, certain settings are fixed and cannot be overridden when creating a job from that template. It appears that in this case, the job template you're using has a restricted set of allowed values for the destinationType field, which doesn't include "WEBVTT".

Job templates in MediaConvert are designed to provide consistent settings across multiple jobs, but they also limit flexibility in some areas. The error message suggests that the template you're using only allows the following values for destinationType:

  • BURN_IN
  • DVB_SUB
  • EMBEDDED
  • EMBEDDED_PLUS_SCTE20
  • SCTE20_PLUS_EMBEDDED
  • TELETEXT

To resolve this issue, you have a few options:

  1. Modify the job template to include "WEBVTT" as an allowed value for destinationType, if you have the permissions to do so.

  2. Create a new job template that includes the WEBVTT option for destinationType.

  3. Create the job without using a template, as you mentioned you were able to do successfully.

  4. If possible, choose one of the allowed destination types from the template instead of WEBVTT.

Remember that job templates are meant to standardize certain aspects of your transcoding jobs. If you frequently need to use WEBVTT as a destination type, it might be worth creating a new template that includes this option or modifying the existing template if that's feasible in your workflow.
Sources
Creating a job from a template - MediaConvert

answered a year ago
  • my job template was already configured with the DestinationType = WEBVTT settings :

    "NameModifier": "_vtt/en_",
                "CaptionDescriptions": [
                  {
                    "CaptionSelectorName": "Captions Selector 1",
                    "DestinationSettings": {
                      "DestinationType": "WEBVTT",
                      "WebvttDestinationSettings": {
                        "StylePassthrough": "ENABLED",
                        "Accessibility": "ENABLED"
                      }
                    },
                    "LanguageCode": "ENG"
                  }
                ]
    

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.