/* * 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; } } }