/* * 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 { /// /// /// /// Outputs recommended instead. /// /// /// /// If you specified one output for a job, information about that output. If you specified /// multiple outputs for a job, the Output object lists information about /// the first output. This duplicates the information that is listed for the first output /// in the Outputs object. /// /// public partial class JobOutput { private JobAlbumArt _albumArt; private string _appliedColorSpaceConversion; private Captions _captions; private List _composition = new List(); private long? _duration; private long? _durationMillis; private Encryption _encryption; private long? _fileSize; private string _frameRate; private int? _height; private string _id; private string _key; private string _presetId; private string _rotate; private string _segmentDuration; private string _status; private string _statusDetail; private Encryption _thumbnailEncryption; private string _thumbnailPattern; private List _watermarks = new List(); private int? _width; /// /// Gets and sets the property AlbumArt. /// /// The album art to be associated with the output file, if any. /// /// 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 AppliedColorSpaceConversion. /// /// If Elastic Transcoder used a preset with a ColorSpaceConversionMode to /// transcode the output file, the AppliedColorSpaceConversion parameter /// shows the conversion used. If no ColorSpaceConversionMode was defined /// in the preset, this parameter is not be included in the job response. /// /// public string AppliedColorSpaceConversion { get { return this._appliedColorSpaceConversion; } set { this._appliedColorSpaceConversion = value; } } // Check to see if AppliedColorSpaceConversion property is set internal bool IsSetAppliedColorSpaceConversion() { return this._appliedColorSpaceConversion != 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 Duration. /// /// Duration of the output file, in seconds. /// /// public long Duration { get { return this._duration.GetValueOrDefault(); } set { this._duration = value; } } // Check to see if Duration property is set internal bool IsSetDuration() { return this._duration.HasValue; } /// /// Gets and sets the property DurationMillis. /// /// Duration of the output file, in milliseconds. /// /// public long DurationMillis { get { return this._durationMillis.GetValueOrDefault(); } set { this._durationMillis = value; } } // Check to see if DurationMillis property is set internal bool IsSetDurationMillis() { return this._durationMillis.HasValue; } /// /// Gets and sets the property Encryption. /// /// The encryption settings, if any, that you want Elastic Transcoder to apply to your /// output files. If you choose to use encryption, you must specify a mode to use. If /// you choose not to use encryption, Elastic Transcoder writes an unencrypted file to /// your Amazon S3 bucket. /// /// 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 FileSize. /// /// File size of the output file, in bytes. /// /// public long FileSize { get { return this._fileSize.GetValueOrDefault(); } set { this._fileSize = value; } } // Check to see if FileSize property is set internal bool IsSetFileSize() { return this._fileSize.HasValue; } /// /// Gets and sets the property FrameRate. /// /// Frame rate of the output file, in frames per second. /// /// 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 Height. /// /// Height of the output file, in pixels. /// /// public int Height { get { return this._height.GetValueOrDefault(); } set { this._height = value; } } // Check to see if Height property is set internal bool IsSetHeight() { return this._height.HasValue; } /// /// Gets and sets the property Id. /// /// A sequential counter, starting with 1, that identifies an output among the outputs /// from the current job. In the Output syntax, this value is always 1. /// /// public string Id { get { return this._id; } set { this._id = value; } } // Check to see if Id property is set internal bool IsSetId() { return this._id != 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. /// /// [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 value of the Id object for the preset that you want to use for this /// job. The preset determines the audio, video, and thumbnail settings that Elastic Transcoder /// uses for transcoding. To use a preset that you created, specify the preset ID that /// Elastic Transcoder returned in the response when you created the preset. You can also /// use the Elastic Transcoder system presets, which you can get with ListPresets. /// /// 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, MPEG-DASH, 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 Status. /// /// The status of one output in a job. If you specified only one output for the job, /// Outputs:Status is always the same as Job:Status. If you /// specified more than one output: /// ///
  • /// /// Job:Status and Outputs:Status for all of the outputs is /// Submitted until Elastic Transcoder starts to process the first output. /// ///
  • /// /// When Elastic Transcoder starts to process the first output, Outputs:Status /// for that output and Job:Status both change to Progressing. For each output, /// the value of Outputs:Status remains Submitted until Elastic Transcoder /// starts to process the output. /// ///
  • /// /// Job:Status remains Progressing until all of the outputs reach a terminal status, either /// Complete or Error. /// ///
  • /// /// When all of the outputs reach a terminal status, Job:Status changes to /// Complete only if Outputs:Status for all of the outputs is Complete. /// If Outputs:Status for one or more outputs is Error, the /// terminal status for Job:Status is also Error. /// ///
/// /// The value of Status is one of the following: Submitted, /// Progressing, Complete, Canceled, or Error. /// /// ///
public string Status { get { return this._status; } set { this._status = value; } } // Check to see if Status property is set internal bool IsSetStatus() { return this._status != null; } /// /// Gets and sets the property StatusDetail. /// /// Information that further explains Status. /// /// [AWSProperty(Min=0, Max=255)] public string StatusDetail { get { return this._statusDetail; } set { this._statusDetail = value; } } // Check to see if StatusDetail property is set internal bool IsSetStatusDetail() { return this._statusDetail != 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 that you specify in Preset /// for the current output. /// /// /// /// Watermarks are added to the output video in the sequence in which you list them in /// the job output—the first watermark in the list is added to the output video first, /// the second watermark in the list is added next, and so on. As a result, if the settings /// in a preset cause Elastic Transcoder to place all watermarks in the same location, /// the second watermark that you add covers the first one, the third one covers the second, /// and the fourth one covers the third. /// /// 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; } /// /// Gets and sets the property Width. /// /// Specifies the width of the output file in pixels. /// /// public int Width { get { return this._width.GetValueOrDefault(); } set { this._width = value; } } // Check to see if Width property is set internal bool IsSetWidth() { return this._width.HasValue; } } }