/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the elastictranscoder-2012-09-25.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.ElasticTranscoder.Model
{
///
/// Information about the file that you're transcoding.
///
public partial class JobInput
{
private string _aspectRatio;
private string _container;
private DetectedProperties _detectedProperties;
private Encryption _encryption;
private string _frameRate;
private InputCaptions _inputCaptions;
private string _interlaced;
private string _key;
private string _resolution;
private TimeSpan _timeSpan;
///
/// Gets and sets the property 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.
///
///
public string AspectRatio
{
get { return this._aspectRatio; }
set { this._aspectRatio = value; }
}
// Check to see if AspectRatio property is set
internal bool IsSetAspectRatio()
{
return this._aspectRatio != null;
}
///
/// Gets and sets the property 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
///
///
public string Container
{
get { return this._container; }
set { this._container = value; }
}
// Check to see if Container property is set
internal bool IsSetContainer()
{
return this._container != null;
}
///
/// Gets and sets the property DetectedProperties.
///
/// The detected properties of the input file.
///
///
public DetectedProperties DetectedProperties
{
get { return this._detectedProperties; }
set { this._detectedProperties = value; }
}
// Check to see if DetectedProperties property is set
internal bool IsSetDetectedProperties()
{
return this._detectedProperties != null;
}
///
/// Gets and sets the property 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.
///
///
public Encryption Encryption
{
get { return this._encryption; }
set { this._encryption = value; }
}
// Check to see if Encryption property is set
internal bool IsSetEncryption()
{
return this._encryption != null;
}
///
/// Gets and sets the property 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.
///
///
public string FrameRate
{
get { return this._frameRate; }
set { this._frameRate = value; }
}
// Check to see if FrameRate property is set
internal bool IsSetFrameRate()
{
return this._frameRate != null;
}
///
/// Gets and sets the property 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.
///
///
public InputCaptions InputCaptions
{
get { return this._inputCaptions; }
set { this._inputCaptions = value; }
}
// Check to see if InputCaptions property is set
internal bool IsSetInputCaptions()
{
return this._inputCaptions != null;
}
///
/// Gets and sets the property 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.
///
///
public string Interlaced
{
get { return this._interlaced; }
set { this._interlaced = value; }
}
// Check to see if Interlaced property is set
internal bool IsSetInterlaced()
{
return this._interlaced != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=1, Max=1024)]
public string Key
{
get { return this._key; }
set { this._key = value; }
}
// Check to see if Key property is set
internal bool IsSetKey()
{
return this._key != null;
}
///
/// Gets and sets the property Resolution.
///
/// This value must be auto
, which causes Elastic Transcoder to automatically
/// detect the resolution of the input file.
///
///
public string Resolution
{
get { return this._resolution; }
set { this._resolution = value; }
}
// Check to see if Resolution property is set
internal bool IsSetResolution()
{
return this._resolution != null;
}
///
/// Gets and sets the property TimeSpan.
///
/// Settings for clipping an input. Each input can have different clip settings.
///
///
public TimeSpan TimeSpan
{
get { return this._timeSpan; }
set { this._timeSpan = value; }
}
// Check to see if TimeSpan property is set
internal bool IsSetTimeSpan()
{
return this._timeSpan != null;
}
}
}