/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ElasticTranscoder { namespace Model { /** *

Information about the file that you're transcoding.

See Also:

* AWS * API Reference

*/ class JobInput { public: AWS_ELASTICTRANSCODER_API JobInput(); AWS_ELASTICTRANSCODER_API JobInput(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICTRANSCODER_API JobInput& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICTRANSCODER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the file to transcode. Elsewhere in the body of the JSON block * is the the ID of the pipeline to use for processing the job. The * InputBucket object in that pipeline tells Elastic Transcoder which * Amazon S3 bucket to get the file from.

If the file name includes a * prefix, such as cooking/lasagna.mpg, include the prefix in the key. * If the file isn't in the specified bucket, Elastic Transcoder returns an * error.

*/ inline const Aws::String& GetKey() const{ return m_key; } /** *

The name of the file to transcode. Elsewhere in the body of the JSON block * is the the ID of the pipeline to use for processing the job. The * InputBucket object in that pipeline tells Elastic Transcoder which * Amazon S3 bucket to get the file from.

If the file name includes a * prefix, such as cooking/lasagna.mpg, include the prefix in the key. * If the file isn't in the specified bucket, Elastic Transcoder returns an * error.

*/ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** *

The name of the file to transcode. Elsewhere in the body of the JSON block * is the the ID of the pipeline to use for processing the job. The * InputBucket object in that pipeline tells Elastic Transcoder which * Amazon S3 bucket to get the file from.

If the file name includes a * prefix, such as cooking/lasagna.mpg, include the prefix in the key. * If the file isn't in the specified bucket, Elastic Transcoder returns an * error.

*/ inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } /** *

The name of the file to transcode. Elsewhere in the body of the JSON block * is the the ID of the pipeline to use for processing the job. The * InputBucket object in that pipeline tells Elastic Transcoder which * Amazon S3 bucket to get the file from.

If the file name includes a * prefix, such as cooking/lasagna.mpg, include the prefix in the key. * If the file isn't in the specified bucket, Elastic Transcoder returns an * error.

*/ inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** *

The name of the file to transcode. Elsewhere in the body of the JSON block * is the the ID of the pipeline to use for processing the job. The * InputBucket object in that pipeline tells Elastic Transcoder which * Amazon S3 bucket to get the file from.

If the file name includes a * prefix, such as cooking/lasagna.mpg, include the prefix in the key. * If the file isn't in the specified bucket, Elastic Transcoder returns an * error.

*/ inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } /** *

The name of the file to transcode. Elsewhere in the body of the JSON block * is the the ID of the pipeline to use for processing the job. The * InputBucket object in that pipeline tells Elastic Transcoder which * Amazon S3 bucket to get the file from.

If the file name includes a * prefix, such as cooking/lasagna.mpg, include the prefix in the key. * If the file isn't in the specified bucket, Elastic Transcoder returns an * error.

*/ inline JobInput& WithKey(const Aws::String& value) { SetKey(value); return *this;} /** *

The name of the file to transcode. Elsewhere in the body of the JSON block * is the the ID of the pipeline to use for processing the job. The * InputBucket object in that pipeline tells Elastic Transcoder which * Amazon S3 bucket to get the file from.

If the file name includes a * prefix, such as cooking/lasagna.mpg, include the prefix in the key. * If the file isn't in the specified bucket, Elastic Transcoder returns an * error.

*/ inline JobInput& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} /** *

The name of the file to transcode. Elsewhere in the body of the JSON block * is the the ID of the pipeline to use for processing the job. The * InputBucket object in that pipeline tells Elastic Transcoder which * Amazon S3 bucket to get the file from.

If the file name includes a * prefix, such as cooking/lasagna.mpg, include the prefix in the key. * If the file isn't in the specified bucket, Elastic Transcoder returns an * error.

*/ inline JobInput& WithKey(const char* value) { SetKey(value); return *this;} /** *

The frame rate of the input file. If you want Elastic Transcoder to * automatically detect the frame rate of the input file, specify * auto. If you want to specify the frame rate for the input file, * enter one of the following values:

10, 15, * 23.97, 24, 25, 29.97, * 30, 60

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the frame * rate.

*/ inline const Aws::String& GetFrameRate() const{ return m_frameRate; } /** *

The frame rate of the input file. If you want Elastic Transcoder to * automatically detect the frame rate of the input file, specify * auto. If you want to specify the frame rate for the input file, * enter one of the following values:

10, 15, * 23.97, 24, 25, 29.97, * 30, 60

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the frame * rate.

*/ inline bool FrameRateHasBeenSet() const { return m_frameRateHasBeenSet; } /** *

The frame rate of the input file. If you want Elastic Transcoder to * automatically detect the frame rate of the input file, specify * auto. If you want to specify the frame rate for the input file, * enter one of the following values:

10, 15, * 23.97, 24, 25, 29.97, * 30, 60

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the frame * rate.

*/ inline void SetFrameRate(const Aws::String& value) { m_frameRateHasBeenSet = true; m_frameRate = value; } /** *

The frame rate of the input file. If you want Elastic Transcoder to * automatically detect the frame rate of the input file, specify * auto. If you want to specify the frame rate for the input file, * enter one of the following values:

10, 15, * 23.97, 24, 25, 29.97, * 30, 60

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the frame * rate.

*/ inline void SetFrameRate(Aws::String&& value) { m_frameRateHasBeenSet = true; m_frameRate = std::move(value); } /** *

The frame rate of the input file. If you want Elastic Transcoder to * automatically detect the frame rate of the input file, specify * auto. If you want to specify the frame rate for the input file, * enter one of the following values:

10, 15, * 23.97, 24, 25, 29.97, * 30, 60

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the frame * rate.

*/ inline void SetFrameRate(const char* value) { m_frameRateHasBeenSet = true; m_frameRate.assign(value); } /** *

The frame rate of the input file. If you want Elastic Transcoder to * automatically detect the frame rate of the input file, specify * auto. If you want to specify the frame rate for the input file, * enter one of the following values:

10, 15, * 23.97, 24, 25, 29.97, * 30, 60

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the frame * rate.

*/ inline JobInput& WithFrameRate(const Aws::String& value) { SetFrameRate(value); return *this;} /** *

The frame rate of the input file. If you want Elastic Transcoder to * automatically detect the frame rate of the input file, specify * auto. If you want to specify the frame rate for the input file, * enter one of the following values:

10, 15, * 23.97, 24, 25, 29.97, * 30, 60

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the frame * rate.

*/ inline JobInput& WithFrameRate(Aws::String&& value) { SetFrameRate(std::move(value)); return *this;} /** *

The frame rate of the input file. If you want Elastic Transcoder to * automatically detect the frame rate of the input file, specify * auto. If you want to specify the frame rate for the input file, * enter one of the following values:

10, 15, * 23.97, 24, 25, 29.97, * 30, 60

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the frame * rate.

*/ inline JobInput& WithFrameRate(const char* value) { SetFrameRate(value); return *this;} /** *

This value must be auto, which causes Elastic Transcoder to * automatically detect the resolution of the input file.

*/ inline const Aws::String& GetResolution() const{ return m_resolution; } /** *

This value must be auto, which causes Elastic Transcoder to * automatically detect the resolution of the input file.

*/ inline bool ResolutionHasBeenSet() const { return m_resolutionHasBeenSet; } /** *

This value must be auto, which causes Elastic Transcoder to * automatically detect the resolution of the input file.

*/ inline void SetResolution(const Aws::String& value) { m_resolutionHasBeenSet = true; m_resolution = value; } /** *

This value must be auto, which causes Elastic Transcoder to * automatically detect the resolution of the input file.

*/ inline void SetResolution(Aws::String&& value) { m_resolutionHasBeenSet = true; m_resolution = std::move(value); } /** *

This value must be auto, which causes Elastic Transcoder to * automatically detect the resolution of the input file.

*/ inline void SetResolution(const char* value) { m_resolutionHasBeenSet = true; m_resolution.assign(value); } /** *

This value must be auto, which causes Elastic Transcoder to * automatically detect the resolution of the input file.

*/ inline JobInput& WithResolution(const Aws::String& value) { SetResolution(value); return *this;} /** *

This value must be auto, which causes Elastic Transcoder to * automatically detect the resolution of the input file.

*/ inline JobInput& WithResolution(Aws::String&& value) { SetResolution(std::move(value)); return *this;} /** *

This value must be auto, which causes Elastic Transcoder to * automatically detect the resolution of the input file.

*/ inline JobInput& WithResolution(const char* value) { SetResolution(value); return *this;} /** *

The aspect ratio of the input file. If you want Elastic Transcoder to * automatically detect the aspect ratio of the input file, specify * auto. If you want to specify the aspect ratio for the output file, * enter one of the following values:

1:1, 4:3, * 3:2, 16:9

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the aspect * ratio.

*/ inline const Aws::String& GetAspectRatio() const{ return m_aspectRatio; } /** *

The aspect ratio of the input file. If you want Elastic Transcoder to * automatically detect the aspect ratio of the input file, specify * auto. If you want to specify the aspect ratio for the output file, * enter one of the following values:

1:1, 4:3, * 3:2, 16:9

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the aspect * ratio.

*/ inline bool AspectRatioHasBeenSet() const { return m_aspectRatioHasBeenSet; } /** *

The aspect ratio of the input file. If you want Elastic Transcoder to * automatically detect the aspect ratio of the input file, specify * auto. If you want to specify the aspect ratio for the output file, * enter one of the following values:

1:1, 4:3, * 3:2, 16:9

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the aspect * ratio.

*/ inline void SetAspectRatio(const Aws::String& value) { m_aspectRatioHasBeenSet = true; m_aspectRatio = value; } /** *

The aspect ratio of the input file. If you want Elastic Transcoder to * automatically detect the aspect ratio of the input file, specify * auto. If you want to specify the aspect ratio for the output file, * enter one of the following values:

1:1, 4:3, * 3:2, 16:9

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the aspect * ratio.

*/ inline void SetAspectRatio(Aws::String&& value) { m_aspectRatioHasBeenSet = true; m_aspectRatio = std::move(value); } /** *

The aspect ratio of the input file. If you want Elastic Transcoder to * automatically detect the aspect ratio of the input file, specify * auto. If you want to specify the aspect ratio for the output file, * enter one of the following values:

1:1, 4:3, * 3:2, 16:9

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the aspect * ratio.

*/ inline void SetAspectRatio(const char* value) { m_aspectRatioHasBeenSet = true; m_aspectRatio.assign(value); } /** *

The aspect ratio of the input file. If you want Elastic Transcoder to * automatically detect the aspect ratio of the input file, specify * auto. If you want to specify the aspect ratio for the output file, * enter one of the following values:

1:1, 4:3, * 3:2, 16:9

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the aspect * ratio.

*/ inline JobInput& WithAspectRatio(const Aws::String& value) { SetAspectRatio(value); return *this;} /** *

The aspect ratio of the input file. If you want Elastic Transcoder to * automatically detect the aspect ratio of the input file, specify * auto. If you want to specify the aspect ratio for the output file, * enter one of the following values:

1:1, 4:3, * 3:2, 16:9

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the aspect * ratio.

*/ inline JobInput& WithAspectRatio(Aws::String&& value) { SetAspectRatio(std::move(value)); return *this;} /** *

The aspect ratio of the input file. If you want Elastic Transcoder to * automatically detect the aspect ratio of the input file, specify * auto. If you want to specify the aspect ratio for the output file, * enter one of the following values:

1:1, 4:3, * 3:2, 16:9

If you specify a value other than * auto, Elastic Transcoder disables automatic detection of the aspect * ratio.

*/ inline JobInput& WithAspectRatio(const char* value) { SetAspectRatio(value); return *this;} /** *

Whether the input file is interlaced. If you want Elastic Transcoder to * automatically detect whether the input file is interlaced, specify * auto. If you want to specify whether the input file is interlaced, * enter one of the following values:

true, false *

If you specify a value other than auto, Elastic Transcoder * disables automatic detection of interlacing.

*/ inline const Aws::String& GetInterlaced() const{ return m_interlaced; } /** *

Whether the input file is interlaced. If you want Elastic Transcoder to * automatically detect whether the input file is interlaced, specify * auto. If you want to specify whether the input file is interlaced, * enter one of the following values:

true, false *

If you specify a value other than auto, Elastic Transcoder * disables automatic detection of interlacing.

*/ inline bool InterlacedHasBeenSet() const { return m_interlacedHasBeenSet; } /** *

Whether the input file is interlaced. If you want Elastic Transcoder to * automatically detect whether the input file is interlaced, specify * auto. If you want to specify whether the input file is interlaced, * enter one of the following values:

true, false *

If you specify a value other than auto, Elastic Transcoder * disables automatic detection of interlacing.

*/ inline void SetInterlaced(const Aws::String& value) { m_interlacedHasBeenSet = true; m_interlaced = value; } /** *

Whether the input file is interlaced. If you want Elastic Transcoder to * automatically detect whether the input file is interlaced, specify * auto. If you want to specify whether the input file is interlaced, * enter one of the following values:

true, false *

If you specify a value other than auto, Elastic Transcoder * disables automatic detection of interlacing.

*/ inline void SetInterlaced(Aws::String&& value) { m_interlacedHasBeenSet = true; m_interlaced = std::move(value); } /** *

Whether the input file is interlaced. If you want Elastic Transcoder to * automatically detect whether the input file is interlaced, specify * auto. If you want to specify whether the input file is interlaced, * enter one of the following values:

true, false *

If you specify a value other than auto, Elastic Transcoder * disables automatic detection of interlacing.

*/ inline void SetInterlaced(const char* value) { m_interlacedHasBeenSet = true; m_interlaced.assign(value); } /** *

Whether the input file is interlaced. If you want Elastic Transcoder to * automatically detect whether the input file is interlaced, specify * auto. If you want to specify whether the input file is interlaced, * enter one of the following values:

true, false *

If you specify a value other than auto, Elastic Transcoder * disables automatic detection of interlacing.

*/ inline JobInput& WithInterlaced(const Aws::String& value) { SetInterlaced(value); return *this;} /** *

Whether the input file is interlaced. If you want Elastic Transcoder to * automatically detect whether the input file is interlaced, specify * auto. If you want to specify whether the input file is interlaced, * enter one of the following values:

true, false *

If you specify a value other than auto, Elastic Transcoder * disables automatic detection of interlacing.

*/ inline JobInput& WithInterlaced(Aws::String&& value) { SetInterlaced(std::move(value)); return *this;} /** *

Whether the input file is interlaced. If you want Elastic Transcoder to * automatically detect whether the input file is interlaced, specify * auto. If you want to specify whether the input file is interlaced, * enter one of the following values:

true, false *

If you specify a value other than auto, Elastic Transcoder * disables automatic detection of interlacing.

*/ inline JobInput& WithInterlaced(const char* value) { SetInterlaced(value); return *this;} /** *

The container type for the input file. If you want Elastic Transcoder to * automatically detect the container type of the input file, specify * auto. If you want to specify the container type for the input file, * enter one of the following values:

3gp, aac, * asf, avi, divx, flv, * m4a, mkv, mov, mp3, * mp4, mpeg, mpeg-ps, mpeg-ts, * mxf, ogg, vob, wav, * webm

*/ inline const Aws::String& GetContainer() const{ return m_container; } /** *

The container type for the input file. If you want Elastic Transcoder to * automatically detect the container type of the input file, specify * auto. If you want to specify the container type for the input file, * enter one of the following values:

3gp, aac, * asf, avi, divx, flv, * m4a, mkv, mov, mp3, * mp4, mpeg, mpeg-ps, mpeg-ts, * mxf, ogg, vob, wav, * webm

*/ inline bool ContainerHasBeenSet() const { return m_containerHasBeenSet; } /** *

The container type for the input file. If you want Elastic Transcoder to * automatically detect the container type of the input file, specify * auto. If you want to specify the container type for the input file, * enter one of the following values:

3gp, aac, * asf, avi, divx, flv, * m4a, mkv, mov, mp3, * mp4, mpeg, mpeg-ps, mpeg-ts, * mxf, ogg, vob, wav, * webm

*/ inline void SetContainer(const Aws::String& value) { m_containerHasBeenSet = true; m_container = value; } /** *

The container type for the input file. If you want Elastic Transcoder to * automatically detect the container type of the input file, specify * auto. If you want to specify the container type for the input file, * enter one of the following values:

3gp, aac, * asf, avi, divx, flv, * m4a, mkv, mov, mp3, * mp4, mpeg, mpeg-ps, mpeg-ts, * mxf, ogg, vob, wav, * webm

*/ inline void SetContainer(Aws::String&& value) { m_containerHasBeenSet = true; m_container = std::move(value); } /** *

The container type for the input file. If you want Elastic Transcoder to * automatically detect the container type of the input file, specify * auto. If you want to specify the container type for the input file, * enter one of the following values:

3gp, aac, * asf, avi, divx, flv, * m4a, mkv, mov, mp3, * mp4, mpeg, mpeg-ps, mpeg-ts, * mxf, ogg, vob, wav, * webm

*/ inline void SetContainer(const char* value) { m_containerHasBeenSet = true; m_container.assign(value); } /** *

The container type for the input file. If you want Elastic Transcoder to * automatically detect the container type of the input file, specify * auto. If you want to specify the container type for the input file, * enter one of the following values:

3gp, aac, * asf, avi, divx, flv, * m4a, mkv, mov, mp3, * mp4, mpeg, mpeg-ps, mpeg-ts, * mxf, ogg, vob, wav, * webm

*/ inline JobInput& WithContainer(const Aws::String& value) { SetContainer(value); return *this;} /** *

The container type for the input file. If you want Elastic Transcoder to * automatically detect the container type of the input file, specify * auto. If you want to specify the container type for the input file, * enter one of the following values:

3gp, aac, * asf, avi, divx, flv, * m4a, mkv, mov, mp3, * mp4, mpeg, mpeg-ps, mpeg-ts, * mxf, ogg, vob, wav, * webm

*/ inline JobInput& WithContainer(Aws::String&& value) { SetContainer(std::move(value)); return *this;} /** *

The container type for the input file. If you want Elastic Transcoder to * automatically detect the container type of the input file, specify * auto. If you want to specify the container type for the input file, * enter one of the following values:

3gp, aac, * asf, avi, divx, flv, * m4a, mkv, mov, mp3, * mp4, mpeg, mpeg-ps, mpeg-ts, * mxf, ogg, vob, wav, * webm

*/ inline JobInput& WithContainer(const char* value) { SetContainer(value); return *this;} /** *

The encryption settings, if any, that are used for decrypting your input * files. If your input file is encrypted, you must specify the mode that Elastic * Transcoder uses to decrypt your file.

*/ inline const Encryption& GetEncryption() const{ return m_encryption; } /** *

The encryption settings, if any, that are used for decrypting your input * files. If your input file is encrypted, you must specify the mode that Elastic * Transcoder uses to decrypt your file.

*/ inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; } /** *

The encryption settings, if any, that are used for decrypting your input * files. If your input file is encrypted, you must specify the mode that Elastic * Transcoder uses to decrypt your file.

*/ inline void SetEncryption(const Encryption& value) { m_encryptionHasBeenSet = true; m_encryption = value; } /** *

The encryption settings, if any, that are used for decrypting your input * files. If your input file is encrypted, you must specify the mode that Elastic * Transcoder uses to decrypt your file.

*/ inline void SetEncryption(Encryption&& value) { m_encryptionHasBeenSet = true; m_encryption = std::move(value); } /** *

The encryption settings, if any, that are used for decrypting your input * files. If your input file is encrypted, you must specify the mode that Elastic * Transcoder uses to decrypt your file.

*/ inline JobInput& WithEncryption(const Encryption& value) { SetEncryption(value); return *this;} /** *

The encryption settings, if any, that are used for decrypting your input * files. If your input file is encrypted, you must specify the mode that Elastic * Transcoder uses to decrypt your file.

*/ inline JobInput& WithEncryption(Encryption&& value) { SetEncryption(std::move(value)); return *this;} /** *

Settings for clipping an input. Each input can have different clip * settings.

*/ inline const TimeSpan& GetTimeSpan() const{ return m_timeSpan; } /** *

Settings for clipping an input. Each input can have different clip * settings.

*/ inline bool TimeSpanHasBeenSet() const { return m_timeSpanHasBeenSet; } /** *

Settings for clipping an input. Each input can have different clip * settings.

*/ inline void SetTimeSpan(const TimeSpan& value) { m_timeSpanHasBeenSet = true; m_timeSpan = value; } /** *

Settings for clipping an input. Each input can have different clip * settings.

*/ inline void SetTimeSpan(TimeSpan&& value) { m_timeSpanHasBeenSet = true; m_timeSpan = std::move(value); } /** *

Settings for clipping an input. Each input can have different clip * settings.

*/ inline JobInput& WithTimeSpan(const TimeSpan& value) { SetTimeSpan(value); return *this;} /** *

Settings for clipping an input. Each input can have different clip * settings.

*/ inline JobInput& WithTimeSpan(TimeSpan&& value) { SetTimeSpan(std::move(value)); return *this;} /** *

You can configure Elastic Transcoder to transcode captions, or subtitles, * from one format to another. All captions must be in UTF-8. Elastic Transcoder * supports two types of captions:

  • Embedded: Embedded * captions are included in the same file as the audio and video. Elastic * Transcoder supports only one embedded caption per language, to a maximum of 300 * embedded captions per file.

    Valid input values include: CEA-608 * (EIA-608, first non-empty channel only), CEA-708 (EIA-708, * first non-empty channel only), and mov-text

    Valid outputs * include: mov-text

    Elastic Transcoder supports a maximum of * one embedded format per output.

  • Sidecar: Sidecar * captions are kept in a separate metadata file from the audio and video data. * Sidecar captions require a player that is capable of understanding the * relationship between the video file and the sidecar file. Elastic Transcoder * supports only one sidecar caption per language, to a maximum of 20 sidecar * captions per file.

    Valid input values include: dfxp (first * div element only), ebu-tt, scc, smpt, * srt, ttml (first div element only), and * webvtt

    Valid outputs include: dfxp (first div * element only), scc, srt, and webvtt.

    *

If you want ttml or smpte-tt compatible captions, specify dfxp as * your output format.

Elastic Transcoder does not support OCR (Optical * Character Recognition), does not accept pictures as a valid input for captions, * and is not available for audio-only transcoding. Elastic Transcoder does not * preserve text formatting (for example, italics) during the transcoding * process.

To remove captions or leave the captions empty, set * Captions to null. To pass through existing captions unchanged, set * the MergePolicy to MergeRetain, and pass in a null * CaptionSources array.

For more information on embedded * files, see the Subtitles Wikipedia page.

For more information on sidecar * files, see the Extensible Metadata Platform and Sidecar file Wikipedia * pages.

*/ inline const InputCaptions& GetInputCaptions() const{ return m_inputCaptions; } /** *

You can configure Elastic Transcoder to transcode captions, or subtitles, * from one format to another. All captions must be in UTF-8. Elastic Transcoder * supports two types of captions:

  • Embedded: Embedded * captions are included in the same file as the audio and video. Elastic * Transcoder supports only one embedded caption per language, to a maximum of 300 * embedded captions per file.

    Valid input values include: CEA-608 * (EIA-608, first non-empty channel only), CEA-708 (EIA-708, * first non-empty channel only), and mov-text

    Valid outputs * include: mov-text

    Elastic Transcoder supports a maximum of * one embedded format per output.

  • Sidecar: Sidecar * captions are kept in a separate metadata file from the audio and video data. * Sidecar captions require a player that is capable of understanding the * relationship between the video file and the sidecar file. Elastic Transcoder * supports only one sidecar caption per language, to a maximum of 20 sidecar * captions per file.

    Valid input values include: dfxp (first * div element only), ebu-tt, scc, smpt, * srt, ttml (first div element only), and * webvtt

    Valid outputs include: dfxp (first div * element only), scc, srt, and webvtt.

    *

If you want ttml or smpte-tt compatible captions, specify dfxp as * your output format.

Elastic Transcoder does not support OCR (Optical * Character Recognition), does not accept pictures as a valid input for captions, * and is not available for audio-only transcoding. Elastic Transcoder does not * preserve text formatting (for example, italics) during the transcoding * process.

To remove captions or leave the captions empty, set * Captions to null. To pass through existing captions unchanged, set * the MergePolicy to MergeRetain, and pass in a null * CaptionSources array.

For more information on embedded * files, see the Subtitles Wikipedia page.

For more information on sidecar * files, see the Extensible Metadata Platform and Sidecar file Wikipedia * pages.

*/ inline bool InputCaptionsHasBeenSet() const { return m_inputCaptionsHasBeenSet; } /** *

You can configure Elastic Transcoder to transcode captions, or subtitles, * from one format to another. All captions must be in UTF-8. Elastic Transcoder * supports two types of captions:

  • Embedded: Embedded * captions are included in the same file as the audio and video. Elastic * Transcoder supports only one embedded caption per language, to a maximum of 300 * embedded captions per file.

    Valid input values include: CEA-608 * (EIA-608, first non-empty channel only), CEA-708 (EIA-708, * first non-empty channel only), and mov-text

    Valid outputs * include: mov-text

    Elastic Transcoder supports a maximum of * one embedded format per output.

  • Sidecar: Sidecar * captions are kept in a separate metadata file from the audio and video data. * Sidecar captions require a player that is capable of understanding the * relationship between the video file and the sidecar file. Elastic Transcoder * supports only one sidecar caption per language, to a maximum of 20 sidecar * captions per file.

    Valid input values include: dfxp (first * div element only), ebu-tt, scc, smpt, * srt, ttml (first div element only), and * webvtt

    Valid outputs include: dfxp (first div * element only), scc, srt, and webvtt.

    *

If you want ttml or smpte-tt compatible captions, specify dfxp as * your output format.

Elastic Transcoder does not support OCR (Optical * Character Recognition), does not accept pictures as a valid input for captions, * and is not available for audio-only transcoding. Elastic Transcoder does not * preserve text formatting (for example, italics) during the transcoding * process.

To remove captions or leave the captions empty, set * Captions to null. To pass through existing captions unchanged, set * the MergePolicy to MergeRetain, and pass in a null * CaptionSources array.

For more information on embedded * files, see the Subtitles Wikipedia page.

For more information on sidecar * files, see the Extensible Metadata Platform and Sidecar file Wikipedia * pages.

*/ inline void SetInputCaptions(const InputCaptions& value) { m_inputCaptionsHasBeenSet = true; m_inputCaptions = value; } /** *

You can configure Elastic Transcoder to transcode captions, or subtitles, * from one format to another. All captions must be in UTF-8. Elastic Transcoder * supports two types of captions:

  • Embedded: Embedded * captions are included in the same file as the audio and video. Elastic * Transcoder supports only one embedded caption per language, to a maximum of 300 * embedded captions per file.

    Valid input values include: CEA-608 * (EIA-608, first non-empty channel only), CEA-708 (EIA-708, * first non-empty channel only), and mov-text

    Valid outputs * include: mov-text

    Elastic Transcoder supports a maximum of * one embedded format per output.

  • Sidecar: Sidecar * captions are kept in a separate metadata file from the audio and video data. * Sidecar captions require a player that is capable of understanding the * relationship between the video file and the sidecar file. Elastic Transcoder * supports only one sidecar caption per language, to a maximum of 20 sidecar * captions per file.

    Valid input values include: dfxp (first * div element only), ebu-tt, scc, smpt, * srt, ttml (first div element only), and * webvtt

    Valid outputs include: dfxp (first div * element only), scc, srt, and webvtt.

    *

If you want ttml or smpte-tt compatible captions, specify dfxp as * your output format.

Elastic Transcoder does not support OCR (Optical * Character Recognition), does not accept pictures as a valid input for captions, * and is not available for audio-only transcoding. Elastic Transcoder does not * preserve text formatting (for example, italics) during the transcoding * process.

To remove captions or leave the captions empty, set * Captions to null. To pass through existing captions unchanged, set * the MergePolicy to MergeRetain, and pass in a null * CaptionSources array.

For more information on embedded * files, see the Subtitles Wikipedia page.

For more information on sidecar * files, see the Extensible Metadata Platform and Sidecar file Wikipedia * pages.

*/ inline void SetInputCaptions(InputCaptions&& value) { m_inputCaptionsHasBeenSet = true; m_inputCaptions = std::move(value); } /** *

You can configure Elastic Transcoder to transcode captions, or subtitles, * from one format to another. All captions must be in UTF-8. Elastic Transcoder * supports two types of captions:

  • Embedded: Embedded * captions are included in the same file as the audio and video. Elastic * Transcoder supports only one embedded caption per language, to a maximum of 300 * embedded captions per file.

    Valid input values include: CEA-608 * (EIA-608, first non-empty channel only), CEA-708 (EIA-708, * first non-empty channel only), and mov-text

    Valid outputs * include: mov-text

    Elastic Transcoder supports a maximum of * one embedded format per output.

  • Sidecar: Sidecar * captions are kept in a separate metadata file from the audio and video data. * Sidecar captions require a player that is capable of understanding the * relationship between the video file and the sidecar file. Elastic Transcoder * supports only one sidecar caption per language, to a maximum of 20 sidecar * captions per file.

    Valid input values include: dfxp (first * div element only), ebu-tt, scc, smpt, * srt, ttml (first div element only), and * webvtt

    Valid outputs include: dfxp (first div * element only), scc, srt, and webvtt.

    *

If you want ttml or smpte-tt compatible captions, specify dfxp as * your output format.

Elastic Transcoder does not support OCR (Optical * Character Recognition), does not accept pictures as a valid input for captions, * and is not available for audio-only transcoding. Elastic Transcoder does not * preserve text formatting (for example, italics) during the transcoding * process.

To remove captions or leave the captions empty, set * Captions to null. To pass through existing captions unchanged, set * the MergePolicy to MergeRetain, and pass in a null * CaptionSources array.

For more information on embedded * files, see the Subtitles Wikipedia page.

For more information on sidecar * files, see the Extensible Metadata Platform and Sidecar file Wikipedia * pages.

*/ inline JobInput& WithInputCaptions(const InputCaptions& value) { SetInputCaptions(value); return *this;} /** *

You can configure Elastic Transcoder to transcode captions, or subtitles, * from one format to another. All captions must be in UTF-8. Elastic Transcoder * supports two types of captions:

  • Embedded: Embedded * captions are included in the same file as the audio and video. Elastic * Transcoder supports only one embedded caption per language, to a maximum of 300 * embedded captions per file.

    Valid input values include: CEA-608 * (EIA-608, first non-empty channel only), CEA-708 (EIA-708, * first non-empty channel only), and mov-text

    Valid outputs * include: mov-text

    Elastic Transcoder supports a maximum of * one embedded format per output.

  • Sidecar: Sidecar * captions are kept in a separate metadata file from the audio and video data. * Sidecar captions require a player that is capable of understanding the * relationship between the video file and the sidecar file. Elastic Transcoder * supports only one sidecar caption per language, to a maximum of 20 sidecar * captions per file.

    Valid input values include: dfxp (first * div element only), ebu-tt, scc, smpt, * srt, ttml (first div element only), and * webvtt

    Valid outputs include: dfxp (first div * element only), scc, srt, and webvtt.

    *

If you want ttml or smpte-tt compatible captions, specify dfxp as * your output format.

Elastic Transcoder does not support OCR (Optical * Character Recognition), does not accept pictures as a valid input for captions, * and is not available for audio-only transcoding. Elastic Transcoder does not * preserve text formatting (for example, italics) during the transcoding * process.

To remove captions or leave the captions empty, set * Captions to null. To pass through existing captions unchanged, set * the MergePolicy to MergeRetain, and pass in a null * CaptionSources array.

For more information on embedded * files, see the Subtitles Wikipedia page.

For more information on sidecar * files, see the Extensible Metadata Platform and Sidecar file Wikipedia * pages.

*/ inline JobInput& WithInputCaptions(InputCaptions&& value) { SetInputCaptions(std::move(value)); return *this;} /** *

The detected properties of the input file.

*/ inline const DetectedProperties& GetDetectedProperties() const{ return m_detectedProperties; } /** *

The detected properties of the input file.

*/ inline bool DetectedPropertiesHasBeenSet() const { return m_detectedPropertiesHasBeenSet; } /** *

The detected properties of the input file.

*/ inline void SetDetectedProperties(const DetectedProperties& value) { m_detectedPropertiesHasBeenSet = true; m_detectedProperties = value; } /** *

The detected properties of the input file.

*/ inline void SetDetectedProperties(DetectedProperties&& value) { m_detectedPropertiesHasBeenSet = true; m_detectedProperties = std::move(value); } /** *

The detected properties of the input file.

*/ inline JobInput& WithDetectedProperties(const DetectedProperties& value) { SetDetectedProperties(value); return *this;} /** *

The detected properties of the input file.

*/ inline JobInput& WithDetectedProperties(DetectedProperties&& value) { SetDetectedProperties(std::move(value)); return *this;} private: Aws::String m_key; bool m_keyHasBeenSet = false; Aws::String m_frameRate; bool m_frameRateHasBeenSet = false; Aws::String m_resolution; bool m_resolutionHasBeenSet = false; Aws::String m_aspectRatio; bool m_aspectRatioHasBeenSet = false; Aws::String m_interlaced; bool m_interlacedHasBeenSet = false; Aws::String m_container; bool m_containerHasBeenSet = false; Encryption m_encryption; bool m_encryptionHasBeenSet = false; TimeSpan m_timeSpan; bool m_timeSpanHasBeenSet = false; InputCaptions m_inputCaptions; bool m_inputCaptionsHasBeenSet = false; DetectedProperties m_detectedProperties; bool m_detectedPropertiesHasBeenSet = false; }; } // namespace Model } // namespace ElasticTranscoder } // namespace Aws