com.amazonaws.services.elastictranscoder.model

## Class JobInput

- java.lang.Object
- - com.amazonaws.services.elastictranscoder.model.JobInput

All Implemented Interfaces:
  Serializable, Cloneable

    public class JobInput
    extends Object
    implements Serializable, Cloneable

Information about the file that you're transcoding.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`JobInput()`

### Method Summary

All Methods Instance Methods Concrete Methods
`JobInput` `clone()`
`boolean` `equals(Object obj)`
`String` `getAspectRatio()` The aspect ratio of the input file.
`String` `getContainer()` The container type for the input file.
`DetectedProperties` `getDetectedProperties()` The detected properties of the input file.
`Encryption` `getEncryption()` The encryption settings, if any, that are used for decrypting your input files.
`String` `getFrameRate()` The frame rate of the input file.
`InputCaptions` `getInputCaptions()` You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another.
`String` `getInterlaced()` Whether the input file is interlaced.
`String` `getKey()` The name of the file to transcode.
`String` `getResolution()` This value must be `auto`, which causes Elastic Transcoder to automatically detect the resolution of the input file.
`TimeSpan` `getTimeSpan()` Settings for clipping an input.
`int` `hashCode()`
`void` `setAspectRatio(String aspectRatio)` The aspect ratio of the input file.
`void` `setContainer(String container)` The container type for the input file.
`void` `setDetectedProperties(DetectedProperties detectedProperties)` The detected properties of the input file.
`void` `setEncryption(Encryption encryption)` The encryption settings, if any, that are used for decrypting your input files.
`void` `setFrameRate(String frameRate)` The frame rate of the input file.
`void` `setInputCaptions(InputCaptions inputCaptions)` You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another.
`void` `setInterlaced(String interlaced)` Whether the input file is interlaced.
`void` `setKey(String key)` The name of the file to transcode.
`void` `setResolution(String resolution)` This value must be `auto`, which causes Elastic Transcoder to automatically detect the resolution of the input file.
`void` `setTimeSpan(TimeSpan timeSpan)` Settings for clipping an input.
`String` `toString()` Returns a string representation of this object; useful for testing and debugging.
`JobInput` `withAspectRatio(String aspectRatio)` The aspect ratio of the input file.
`JobInput` `withContainer(String container)` The container type for the input file.
`JobInput` `withDetectedProperties(DetectedProperties detectedProperties)` The detected properties of the input file.
`JobInput` `withEncryption(Encryption encryption)` The encryption settings, if any, that are used for decrypting your input files.
`JobInput` `withFrameRate(String frameRate)` The frame rate of the input file.
`JobInput` `withInputCaptions(InputCaptions inputCaptions)` You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another.
`JobInput` `withInterlaced(String interlaced)` Whether the input file is interlaced.
`JobInput` `withKey(String key)` The name of the file to transcode.
`JobInput` `withResolution(String resolution)` This value must be `auto`, which causes Elastic Transcoder to automatically detect the resolution of the input file.
`JobInput` `withTimeSpan(TimeSpan timeSpan)` Settings for clipping an input.

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### JobInput

    public JobInput()

### Method Detail

#### setKey

    public void setKey(String 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.

Parameters:
  `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.

#### getKey

    public String getKey()

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.

Returns:
  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.

#### withKey

    public JobInput withKey(String 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.

Parameters:
  `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.

Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setFrameRate

    public void setFrameRate(String 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.

Parameters:
  `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.

#### getFrameRate

    public String getFrameRate()

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.

Returns:
  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.

#### withFrameRate

    public JobInput withFrameRate(String 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.

Parameters:
  `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.

Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setResolution

    public void setResolution(String resolution)

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

Parameters:
  `resolution` - This value must be `auto`, which causes Elastic Transcoder to automatically detect the resolution of the input file.

#### getResolution

    public String getResolution()

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

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

#### withResolution

    public JobInput withResolution(String resolution)

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

Parameters:
  `resolution` - This value must be `auto`, which causes Elastic Transcoder to automatically detect the resolution of the input file.
Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setAspectRatio

    public void setAspectRatio(String 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.

Parameters:
  `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.

#### getAspectRatio

    public String getAspectRatio()

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.

Returns:
  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.

#### withAspectRatio

    public JobInput withAspectRatio(String 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.

Parameters:
  `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.

Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setInterlaced

    public void setInterlaced(String 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.

Parameters:
  `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.

#### getInterlaced

    public String getInterlaced()

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.

Returns:
  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.

#### withInterlaced

    public JobInput withInterlaced(String 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.

Parameters:
  `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.

Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setContainer

    public void setContainer(String 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`

Parameters:
  `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`

#### getContainer

    public String getContainer()

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`

Returns:
  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`

#### withContainer

    public JobInput withContainer(String 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`

Parameters:
  `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`

Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setEncryption

    public void setEncryption(Encryption 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.

Parameters:
  `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.

#### getEncryption

    public Encryption getEncryption()

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.

Returns:
  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.

#### withEncryption

    public JobInput withEncryption(Encryption 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.

Parameters:
  `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.
Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setTimeSpan

    public void setTimeSpan(TimeSpan timeSpan)

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

Parameters:
  `timeSpan` - Settings for clipping an input. Each input can have different clip settings.

#### getTimeSpan

    public TimeSpan getTimeSpan()

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

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

#### withTimeSpan

    public JobInput withTimeSpan(TimeSpan timeSpan)

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

Parameters:
  `timeSpan` - Settings for clipping an input. Each input can have different clip settings.
Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setInputCaptions

    public void setInputCaptions(InputCaptions 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.

Parameters:
  `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.

#### getInputCaptions

    public InputCaptions getInputCaptions()

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.

Returns:
  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.

#### withInputCaptions

    public JobInput withInputCaptions(InputCaptions 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.

Parameters:
  `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.

Returns:
  Returns a reference to this object so that method calls can be chained together.

#### setDetectedProperties

    public void setDetectedProperties(DetectedProperties detectedProperties)

The detected properties of the input file.

Parameters:
  `detectedProperties` - The detected properties of the input file.

#### getDetectedProperties

    public DetectedProperties getDetectedProperties()

The detected properties of the input file.

Returns:
  The detected properties of the input file.

#### withDetectedProperties

    public JobInput withDetectedProperties(DetectedProperties detectedProperties)

The detected properties of the input file.

Parameters:
  `detectedProperties` - The detected properties of the input file.
Returns:
  Returns a reference to this object so that method calls can be chained together.

#### toString

    public String toString()

Returns a string representation of this object; useful for testing and debugging.

Overrides:
  `toString` in class `Object`
Returns:
  A string representation of this object.
See Also:
  `Object.toString()`

#### equals

    public boolean equals(Object obj)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### clone

    public JobInput clone()

Overrides:
  `clone` in class `Object`