/*
* 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
{
///
/// The CreateJobOutput
structure.
///
public partial class CreateJobOutput
{
private JobAlbumArt _albumArt;
private Captions _captions;
private List _composition = new List();
private Encryption _encryption;
private string _key;
private string _presetId;
private string _rotate;
private string _segmentDuration;
private Encryption _thumbnailEncryption;
private string _thumbnailPattern;
private List _watermarks = new List();
///
/// Gets and sets the property AlbumArt.
///
/// Information about the album art that you want Elastic Transcoder to add to the file
/// during transcoding. You can specify up to twenty album artworks for each output. Settings
/// for each artwork must be defined in the job for the current output.
///
///
public JobAlbumArt AlbumArt
{
get { return this._albumArt; }
set { this._albumArt = value; }
}
// Check to see if AlbumArt property is set
internal bool IsSetAlbumArt()
{
return this._albumArt != null;
}
///
/// Gets and sets the property Captions.
///
/// 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 Captions Captions
{
get { return this._captions; }
set { this._captions = value; }
}
// Check to see if Captions property is set
internal bool IsSetCaptions()
{
return this._captions != null;
}
///
/// Gets and sets the property Composition.
///
/// You can create an output file that contains an excerpt from the input file. This excerpt,
/// called a clip, can come from the beginning, middle, or end of the file. The Composition
/// object contains settings for the clips that make up an output file. For the current
/// release, you can only specify settings for a single clip per output file. The Composition
/// object cannot be null.
///
///
[Obsolete("This property is deprecated")]
public List Composition
{
get { return this._composition; }
set { this._composition = value; }
}
// Check to see if Composition property is set
internal bool IsSetComposition()
{
return this._composition != null && this._composition.Count > 0;
}
///
/// Gets and sets the property Encryption.
///
/// You can specify encryption settings for any output files that you want to use for
/// a transcoding job. This includes the output file and any watermarks, thumbnails, album
/// art, or captions that you want to use. You must specify encryption settings for each
/// file individually.
///
///
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 Key.
///
/// The name to assign to the transcoded file. Elastic Transcoder saves the file in the
/// Amazon S3 bucket specified by the OutputBucket
object in the pipeline
/// that is specified by the pipeline ID. If a file with the specified name already exists
/// in the output bucket, the job fails.
///
///
[AWSProperty(Min=1, Max=255)]
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 PresetId.
///
/// The Id
of the preset to use for this job. The preset determines the
/// audio, video, and thumbnail settings that Elastic Transcoder uses for transcoding.
///
///
///
public string PresetId
{
get { return this._presetId; }
set { this._presetId = value; }
}
// Check to see if PresetId property is set
internal bool IsSetPresetId()
{
return this._presetId != null;
}
///
/// Gets and sets the property Rotate.
///
/// The number of degrees clockwise by which you want Elastic Transcoder to rotate the
/// output relative to the input. Enter one of the following values: auto
,
/// 0
, 90
, 180
, 270
. The value auto
/// generally works only if the file that you're transcoding contains rotation metadata.
///
///
///
public string Rotate
{
get { return this._rotate; }
set { this._rotate = value; }
}
// Check to see if Rotate property is set
internal bool IsSetRotate()
{
return this._rotate != null;
}
///
/// Gets and sets the property SegmentDuration.
///
/// (Outputs in Fragmented MP4 or MPEG-TS format only.
///
///
///
/// If you specify a preset in PresetId
for which the value of Container
/// is fmp4
(Fragmented MP4) or ts
(MPEG-TS), SegmentDuration
/// is the target maximum duration of each segment in seconds. For HLSv3
/// format playlists, each media segment is stored in a separate .ts
file.
/// For HLSv4
and Smooth
playlists, all media segments for an
/// output are stored in a single file. Each segment is approximately the length of the
/// SegmentDuration
, though individual segments might be shorter or longer.
///
///
///
/// The range of valid values is 1 to 60 seconds. If the duration of the video is not
/// evenly divisible by SegmentDuration
, the duration of the last segment
/// is the remainder of total length/SegmentDuration.
///
///
///
/// Elastic Transcoder creates an output-specific playlist for each output HLS
/// output that you specify in OutputKeys. To add an output to the master playlist for
/// this job, include it in the OutputKeys
of the associated playlist.
///
///
public string SegmentDuration
{
get { return this._segmentDuration; }
set { this._segmentDuration = value; }
}
// Check to see if SegmentDuration property is set
internal bool IsSetSegmentDuration()
{
return this._segmentDuration != null;
}
///
/// Gets and sets the property ThumbnailEncryption.
///
/// The encryption settings, if any, that you want Elastic Transcoder to apply to your
/// thumbnail.
///
///
public Encryption ThumbnailEncryption
{
get { return this._thumbnailEncryption; }
set { this._thumbnailEncryption = value; }
}
// Check to see if ThumbnailEncryption property is set
internal bool IsSetThumbnailEncryption()
{
return this._thumbnailEncryption != null;
}
///
/// Gets and sets the property ThumbnailPattern.
///
/// Whether you want Elastic Transcoder to create thumbnails for your videos and, if so,
/// how you want Elastic Transcoder to name the files.
///
///
///
/// If you don't want Elastic Transcoder to create thumbnails, specify "".
///
///
///
/// If you do want Elastic Transcoder to create thumbnails, specify the information that
/// you want to include in the file name for each thumbnail. You can specify the following
/// values in any sequence:
///
/// -
///
///
{count}
(Required): If you want to create thumbnails, you must
/// include {count}
in the ThumbnailPattern
object. Wherever
/// you specify {count}
, Elastic Transcoder adds a five-digit sequence number
/// (beginning with 00001) to thumbnail file names. The number indicates where
/// a given thumbnail appears in the sequence of thumbnails for a transcoded file.
///
///
///
/// If you specify a literal value and/or {resolution}
but you omit {count}
,
/// Elastic Transcoder returns a validation error and does not create the job.
///
/// -
///
/// Literal values (Optional): You can specify literal values anywhere in the
///
ThumbnailPattern
object. For example, you can include them as a file
/// name prefix or as a delimiter between {resolution}
and {count}
.
///
///
/// -
///
///
{resolution}
(Optional): If you want Elastic Transcoder to include
/// the resolution in the file name, include {resolution}
in the ThumbnailPattern
/// object.
///
///
///
/// When creating thumbnails, Elastic Transcoder automatically saves the files in the
/// format (.jpg or .png) that appears in the preset that you specified in the PresetID
/// value of CreateJobOutput
. Elastic Transcoder also appends the applicable
/// file name extension.
///
///
public string ThumbnailPattern
{
get { return this._thumbnailPattern; }
set { this._thumbnailPattern = value; }
}
// Check to see if ThumbnailPattern property is set
internal bool IsSetThumbnailPattern()
{
return this._thumbnailPattern != null;
}
///
/// Gets and sets the property Watermarks.
///
/// Information about the watermarks that you want Elastic Transcoder to add to the video
/// during transcoding. You can specify up to four watermarks for each output. Settings
/// for each watermark must be defined in the preset for the current output.
///
///
public List Watermarks
{
get { return this._watermarks; }
set { this._watermarks = value; }
}
// Check to see if Watermarks property is set
internal bool IsSetWatermarks()
{
return this._watermarks != null && this._watermarks.Count > 0;
}
}
}