diff --git a/profiles/latest/mediaservices/mgmt/media/models.go b/profiles/latest/mediaservices/mgmt/media/models.go index ac0f0b174b6e..280f46b1b5f4 100644 --- a/profiles/latest/mediaservices/mgmt/media/models.go +++ b/profiles/latest/mediaservices/mgmt/media/models.go @@ -37,6 +37,13 @@ const ( HeAacV2 AacAudioProfile = original.HeAacV2 ) +type AnalysisResolution = original.AnalysisResolution + +const ( + SourceResolution AnalysisResolution = original.SourceResolution + StandardDefinition AnalysisResolution = original.StandardDefinition +) + type AssetContainerPermission = original.AssetContainerPermission const ( @@ -113,14 +120,15 @@ const ( type EncoderNamedPreset = original.EncoderNamedPreset const ( - AACGoodQualityAudio EncoderNamedPreset = original.AACGoodQualityAudio - AdaptiveStreaming EncoderNamedPreset = original.AdaptiveStreaming - H264MultipleBitrate1080p EncoderNamedPreset = original.H264MultipleBitrate1080p - H264MultipleBitrate720p EncoderNamedPreset = original.H264MultipleBitrate720p - H264MultipleBitrateSD EncoderNamedPreset = original.H264MultipleBitrateSD - H264SingleBitrate1080p EncoderNamedPreset = original.H264SingleBitrate1080p - H264SingleBitrate720p EncoderNamedPreset = original.H264SingleBitrate720p - H264SingleBitrateSD EncoderNamedPreset = original.H264SingleBitrateSD + AACGoodQualityAudio EncoderNamedPreset = original.AACGoodQualityAudio + AdaptiveStreaming EncoderNamedPreset = original.AdaptiveStreaming + ContentAwareEncodingExperimental EncoderNamedPreset = original.ContentAwareEncodingExperimental + H264MultipleBitrate1080p EncoderNamedPreset = original.H264MultipleBitrate1080p + H264MultipleBitrate720p EncoderNamedPreset = original.H264MultipleBitrate720p + H264MultipleBitrateSD EncoderNamedPreset = original.H264MultipleBitrateSD + H264SingleBitrate1080p EncoderNamedPreset = original.H264SingleBitrate1080p + H264SingleBitrate720p EncoderNamedPreset = original.H264SingleBitrate720p + H264SingleBitrateSD EncoderNamedPreset = original.H264SingleBitrateSD ) type EncryptionScheme = original.EncryptionScheme @@ -380,6 +388,7 @@ type OdataTypeBasicPreset = original.OdataTypeBasicPreset const ( OdataTypeMicrosoftMediaAudioAnalyzerPreset OdataTypeBasicPreset = original.OdataTypeMicrosoftMediaAudioAnalyzerPreset OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset OdataTypeBasicPreset = original.OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset + OdataTypeMicrosoftMediaFaceDetectorPreset OdataTypeBasicPreset = original.OdataTypeMicrosoftMediaFaceDetectorPreset OdataTypeMicrosoftMediaStandardEncoderPreset OdataTypeBasicPreset = original.OdataTypeMicrosoftMediaStandardEncoderPreset OdataTypeMicrosoftMediaVideoAnalyzerPreset OdataTypeBasicPreset = original.OdataTypeMicrosoftMediaVideoAnalyzerPreset OdataTypePreset OdataTypeBasicPreset = original.OdataTypePreset @@ -564,6 +573,7 @@ type Deinterlace = original.Deinterlace type EnabledProtocols = original.EnabledProtocols type EntityNameAvailabilityCheckOutput = original.EntityNameAvailabilityCheckOutput type EnvelopeEncryption = original.EnvelopeEncryption +type FaceDetectorPreset = original.FaceDetectorPreset type FilterProperties = original.FilterProperties type FilterTrackPropertyCondition = original.FilterTrackPropertyCondition type FilterTrackSelection = original.FilterTrackSelection @@ -894,6 +904,9 @@ func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { func PossibleAacAudioProfileValues() []AacAudioProfile { return original.PossibleAacAudioProfileValues() } +func PossibleAnalysisResolutionValues() []AnalysisResolution { + return original.PossibleAnalysisResolutionValues() +} func PossibleAssetContainerPermissionValues() []AssetContainerPermission { return original.PossibleAssetContainerPermissionValues() } diff --git a/profiles/preview/mediaservices/mgmt/media/models.go b/profiles/preview/mediaservices/mgmt/media/models.go index 86c69de1d9ea..df3aa3e06735 100644 --- a/profiles/preview/mediaservices/mgmt/media/models.go +++ b/profiles/preview/mediaservices/mgmt/media/models.go @@ -37,6 +37,13 @@ const ( HeAacV2 AacAudioProfile = original.HeAacV2 ) +type AnalysisResolution = original.AnalysisResolution + +const ( + SourceResolution AnalysisResolution = original.SourceResolution + StandardDefinition AnalysisResolution = original.StandardDefinition +) + type AssetContainerPermission = original.AssetContainerPermission const ( @@ -113,14 +120,15 @@ const ( type EncoderNamedPreset = original.EncoderNamedPreset const ( - AACGoodQualityAudio EncoderNamedPreset = original.AACGoodQualityAudio - AdaptiveStreaming EncoderNamedPreset = original.AdaptiveStreaming - H264MultipleBitrate1080p EncoderNamedPreset = original.H264MultipleBitrate1080p - H264MultipleBitrate720p EncoderNamedPreset = original.H264MultipleBitrate720p - H264MultipleBitrateSD EncoderNamedPreset = original.H264MultipleBitrateSD - H264SingleBitrate1080p EncoderNamedPreset = original.H264SingleBitrate1080p - H264SingleBitrate720p EncoderNamedPreset = original.H264SingleBitrate720p - H264SingleBitrateSD EncoderNamedPreset = original.H264SingleBitrateSD + AACGoodQualityAudio EncoderNamedPreset = original.AACGoodQualityAudio + AdaptiveStreaming EncoderNamedPreset = original.AdaptiveStreaming + ContentAwareEncodingExperimental EncoderNamedPreset = original.ContentAwareEncodingExperimental + H264MultipleBitrate1080p EncoderNamedPreset = original.H264MultipleBitrate1080p + H264MultipleBitrate720p EncoderNamedPreset = original.H264MultipleBitrate720p + H264MultipleBitrateSD EncoderNamedPreset = original.H264MultipleBitrateSD + H264SingleBitrate1080p EncoderNamedPreset = original.H264SingleBitrate1080p + H264SingleBitrate720p EncoderNamedPreset = original.H264SingleBitrate720p + H264SingleBitrateSD EncoderNamedPreset = original.H264SingleBitrateSD ) type EncryptionScheme = original.EncryptionScheme @@ -380,6 +388,7 @@ type OdataTypeBasicPreset = original.OdataTypeBasicPreset const ( OdataTypeMicrosoftMediaAudioAnalyzerPreset OdataTypeBasicPreset = original.OdataTypeMicrosoftMediaAudioAnalyzerPreset OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset OdataTypeBasicPreset = original.OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset + OdataTypeMicrosoftMediaFaceDetectorPreset OdataTypeBasicPreset = original.OdataTypeMicrosoftMediaFaceDetectorPreset OdataTypeMicrosoftMediaStandardEncoderPreset OdataTypeBasicPreset = original.OdataTypeMicrosoftMediaStandardEncoderPreset OdataTypeMicrosoftMediaVideoAnalyzerPreset OdataTypeBasicPreset = original.OdataTypeMicrosoftMediaVideoAnalyzerPreset OdataTypePreset OdataTypeBasicPreset = original.OdataTypePreset @@ -564,6 +573,7 @@ type Deinterlace = original.Deinterlace type EnabledProtocols = original.EnabledProtocols type EntityNameAvailabilityCheckOutput = original.EntityNameAvailabilityCheckOutput type EnvelopeEncryption = original.EnvelopeEncryption +type FaceDetectorPreset = original.FaceDetectorPreset type FilterProperties = original.FilterProperties type FilterTrackPropertyCondition = original.FilterTrackPropertyCondition type FilterTrackSelection = original.FilterTrackSelection @@ -894,6 +904,9 @@ func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { func PossibleAacAudioProfileValues() []AacAudioProfile { return original.PossibleAacAudioProfileValues() } +func PossibleAnalysisResolutionValues() []AnalysisResolution { + return original.PossibleAnalysisResolutionValues() +} func PossibleAssetContainerPermissionValues() []AssetContainerPermission { return original.PossibleAssetContainerPermissionValues() } diff --git a/services/mediaservices/mgmt/2018-07-01/media/models.go b/services/mediaservices/mgmt/2018-07-01/media/models.go index d2f175fc8f8e..b534cf310ec8 100644 --- a/services/mediaservices/mgmt/2018-07-01/media/models.go +++ b/services/mediaservices/mgmt/2018-07-01/media/models.go @@ -49,6 +49,21 @@ func PossibleAacAudioProfileValues() []AacAudioProfile { return []AacAudioProfile{AacLc, HeAacV1, HeAacV2} } +// AnalysisResolution enumerates the values for analysis resolution. +type AnalysisResolution string + +const ( + // SourceResolution ... + SourceResolution AnalysisResolution = "SourceResolution" + // StandardDefinition ... + StandardDefinition AnalysisResolution = "StandardDefinition" +) + +// PossibleAnalysisResolutionValues returns an array of possible values for the AnalysisResolution const type. +func PossibleAnalysisResolutionValues() []AnalysisResolution { + return []AnalysisResolution{SourceResolution, StandardDefinition} +} + // AssetContainerPermission enumerates the values for asset container permission. type AssetContainerPermission string @@ -228,6 +243,11 @@ const ( // will remain 720p at best, and will start at rates lower than 3 Mbps. The output will have video and // audio in separate MP4 files, which is optimal for adaptive streaming. AdaptiveStreaming EncoderNamedPreset = "AdaptiveStreaming" + // ContentAwareEncodingExperimental Exposes an experimental preset for content-aware encoding. Given any + // input content, the service attempts to automatically determine the optimal number of layers, appropriate + // bitrate and resolution settings for delivery by adaptive streaming. The underlying algorithms will + // continue to evolve over time. The output will contain MP4 files with video and audio interleaved. + ContentAwareEncodingExperimental EncoderNamedPreset = "ContentAwareEncodingExperimental" // H264MultipleBitrate1080p Produces a set of 8 GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, // and stereo AAC audio. Resolution starts at 1080p and goes down to 360p. H264MultipleBitrate1080p EncoderNamedPreset = "H264MultipleBitrate1080p" @@ -250,7 +270,7 @@ const ( // PossibleEncoderNamedPresetValues returns an array of possible values for the EncoderNamedPreset const type. func PossibleEncoderNamedPresetValues() []EncoderNamedPreset { - return []EncoderNamedPreset{AACGoodQualityAudio, AdaptiveStreaming, H264MultipleBitrate1080p, H264MultipleBitrate720p, H264MultipleBitrateSD, H264SingleBitrate1080p, H264SingleBitrate720p, H264SingleBitrateSD} + return []EncoderNamedPreset{AACGoodQualityAudio, AdaptiveStreaming, ContentAwareEncodingExperimental, H264MultipleBitrate1080p, H264MultipleBitrate720p, H264MultipleBitrateSD, H264SingleBitrate1080p, H264SingleBitrate720p, H264SingleBitrateSD} } // EncryptionScheme enumerates the values for encryption scheme. @@ -809,6 +829,8 @@ const ( OdataTypeMicrosoftMediaAudioAnalyzerPreset OdataTypeBasicPreset = "#Microsoft.Media.AudioAnalyzerPreset" // OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset ... OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset OdataTypeBasicPreset = "#Microsoft.Media.BuiltInStandardEncoderPreset" + // OdataTypeMicrosoftMediaFaceDetectorPreset ... + OdataTypeMicrosoftMediaFaceDetectorPreset OdataTypeBasicPreset = "#Microsoft.Media.FaceDetectorPreset" // OdataTypeMicrosoftMediaStandardEncoderPreset ... OdataTypeMicrosoftMediaStandardEncoderPreset OdataTypeBasicPreset = "#Microsoft.Media.StandardEncoderPreset" // OdataTypeMicrosoftMediaVideoAnalyzerPreset ... @@ -819,7 +841,7 @@ const ( // PossibleOdataTypeBasicPresetValues returns an array of possible values for the OdataTypeBasicPreset const type. func PossibleOdataTypeBasicPresetValues() []OdataTypeBasicPreset { - return []OdataTypeBasicPreset{OdataTypeMicrosoftMediaAudioAnalyzerPreset, OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset, OdataTypeMicrosoftMediaStandardEncoderPreset, OdataTypeMicrosoftMediaVideoAnalyzerPreset, OdataTypePreset} + return []OdataTypeBasicPreset{OdataTypeMicrosoftMediaAudioAnalyzerPreset, OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset, OdataTypeMicrosoftMediaFaceDetectorPreset, OdataTypeMicrosoftMediaStandardEncoderPreset, OdataTypeMicrosoftMediaVideoAnalyzerPreset, OdataTypePreset} } // OnErrorType enumerates the values for on error type. @@ -2056,9 +2078,9 @@ type BasicAudioAnalyzerPreset interface { // including speech transcription. Currently, the preset supports processing of content with a single audio // track. type AudioAnalyzerPreset struct { - // AudioLanguage - The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are, 'en-US', 'en-GB', 'es-ES', 'es-MX', 'fr-FR', 'it-IT', 'ja-JP', 'pt-BR', 'zh-CN', 'de-DE', 'ar-EG', 'ru-RU', 'hi-IN'. If not specified, automatic language detection would be employed. This feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to English. + // AudioLanguage - The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are English ('en-US' and 'en-GB'), Spanish ('es-ES' and 'es-MX'), French ('fr-FR'), Italian ('it-IT'), Japanese ('ja-JP'), Portuguese ('pt-BR'), Chinese ('zh-CN'), German ('de-DE'), Arabic ('ar-EG' and 'ar-SY'), Russian ('ru-RU'), Hindi ('hi-IN'), and Korean ('ko-KR'). If you know the language of your content, it is recommended that you specify it. If the language isn't specified or set to null, automatic language detection will choose the first language detected and process with the selected language for the duration of the file. This language detection feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. It does not currently support dynamically switching between languages after the first language is detected. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to 'en-US'." AudioLanguage *string `json:"audioLanguage,omitempty"` - // OdataType - Possible values include: 'OdataTypePreset', 'OdataTypeMicrosoftMediaAudioAnalyzerPreset', 'OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset', 'OdataTypeMicrosoftMediaStandardEncoderPreset', 'OdataTypeMicrosoftMediaVideoAnalyzerPreset' + // OdataType - Possible values include: 'OdataTypePreset', 'OdataTypeMicrosoftMediaFaceDetectorPreset', 'OdataTypeMicrosoftMediaAudioAnalyzerPreset', 'OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset', 'OdataTypeMicrosoftMediaStandardEncoderPreset', 'OdataTypeMicrosoftMediaVideoAnalyzerPreset' OdataType OdataTypeBasicPreset `json:"@odata.type,omitempty"` } @@ -2112,6 +2134,11 @@ func (aap AudioAnalyzerPreset) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsFaceDetectorPreset is the BasicPreset implementation for AudioAnalyzerPreset. +func (aap AudioAnalyzerPreset) AsFaceDetectorPreset() (*FaceDetectorPreset, bool) { + return nil, false +} + // AsAudioAnalyzerPreset is the BasicPreset implementation for AudioAnalyzerPreset. func (aap AudioAnalyzerPreset) AsAudioAnalyzerPreset() (*AudioAnalyzerPreset, bool) { return &aap, true @@ -2216,9 +2243,9 @@ func (ao AudioOverlay) AsBasicOverlay() (BasicOverlay, bool) { // BuiltInStandardEncoderPreset describes a built-in preset for encoding the input video with the Standard // Encoder. type BuiltInStandardEncoderPreset struct { - // PresetName - The built-in preset to be used for encoding videos. Possible values include: 'H264SingleBitrateSD', 'H264SingleBitrate720p', 'H264SingleBitrate1080p', 'AdaptiveStreaming', 'AACGoodQualityAudio', 'H264MultipleBitrate1080p', 'H264MultipleBitrate720p', 'H264MultipleBitrateSD' + // PresetName - The built-in preset to be used for encoding videos. Possible values include: 'H264SingleBitrateSD', 'H264SingleBitrate720p', 'H264SingleBitrate1080p', 'AdaptiveStreaming', 'AACGoodQualityAudio', 'ContentAwareEncodingExperimental', 'H264MultipleBitrate1080p', 'H264MultipleBitrate720p', 'H264MultipleBitrateSD' PresetName EncoderNamedPreset `json:"presetName,omitempty"` - // OdataType - Possible values include: 'OdataTypePreset', 'OdataTypeMicrosoftMediaAudioAnalyzerPreset', 'OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset', 'OdataTypeMicrosoftMediaStandardEncoderPreset', 'OdataTypeMicrosoftMediaVideoAnalyzerPreset' + // OdataType - Possible values include: 'OdataTypePreset', 'OdataTypeMicrosoftMediaFaceDetectorPreset', 'OdataTypeMicrosoftMediaAudioAnalyzerPreset', 'OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset', 'OdataTypeMicrosoftMediaStandardEncoderPreset', 'OdataTypeMicrosoftMediaVideoAnalyzerPreset' OdataType OdataTypeBasicPreset `json:"@odata.type,omitempty"` } @@ -2235,6 +2262,11 @@ func (bisep BuiltInStandardEncoderPreset) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsFaceDetectorPreset is the BasicPreset implementation for BuiltInStandardEncoderPreset. +func (bisep BuiltInStandardEncoderPreset) AsFaceDetectorPreset() (*FaceDetectorPreset, bool) { + return nil, false +} + // AsAudioAnalyzerPreset is the BasicPreset implementation for BuiltInStandardEncoderPreset. func (bisep BuiltInStandardEncoderPreset) AsAudioAnalyzerPreset() (*AudioAnalyzerPreset, bool) { return nil, false @@ -4370,10 +4402,72 @@ type EnvelopeEncryption struct { ClearTracks *[]TrackSelection `json:"clearTracks,omitempty"` // ContentKeys - Representing default content key for each encryption scheme and separate content keys for specific tracks ContentKeys *StreamingPolicyContentKeys `json:"contentKeys,omitempty"` - // CustomKeyAcquisitionURLTemplate - KeyAcquisitionUrlTemplate is used to point to user specified service to delivery content keys + // CustomKeyAcquisitionURLTemplate - Template for the URL of the custom service delivering keys to end user players. Not required when using Azure Media Services for issuing keys. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested. CustomKeyAcquisitionURLTemplate *string `json:"customKeyAcquisitionUrlTemplate,omitempty"` } +// FaceDetectorPreset describes all the settings to be used when analyzing a video in order to detect all +// the faces present. +type FaceDetectorPreset struct { + // Resolution - Specifies the maximum resolution at which your video is analyzed. The default behavior is "SourceResolution," which will keep the input video at its original resolution when analyzed. Using "StandardDefinition" will resize input videos to standard definition while preserving the appropriate aspect ratio. It will only resize if the video is of higher resolution. For example, a 1920x1080 input would be scaled to 640x360 before processing. Switching to "StandardDefinition" will reduce the time it takes to process high resolution video. It may also reduce the cost of using this component (see https://azure.microsoft.com/en-us/pricing/details/media-services/#analytics for details). However, faces that end up being too small in the resized video may not be detected. Possible values include: 'SourceResolution', 'StandardDefinition' + Resolution AnalysisResolution `json:"resolution,omitempty"` + // OdataType - Possible values include: 'OdataTypePreset', 'OdataTypeMicrosoftMediaFaceDetectorPreset', 'OdataTypeMicrosoftMediaAudioAnalyzerPreset', 'OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset', 'OdataTypeMicrosoftMediaStandardEncoderPreset', 'OdataTypeMicrosoftMediaVideoAnalyzerPreset' + OdataType OdataTypeBasicPreset `json:"@odata.type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FaceDetectorPreset. +func (fdp FaceDetectorPreset) MarshalJSON() ([]byte, error) { + fdp.OdataType = OdataTypeMicrosoftMediaFaceDetectorPreset + objectMap := make(map[string]interface{}) + if fdp.Resolution != "" { + objectMap["resolution"] = fdp.Resolution + } + if fdp.OdataType != "" { + objectMap["@odata.type"] = fdp.OdataType + } + return json.Marshal(objectMap) +} + +// AsFaceDetectorPreset is the BasicPreset implementation for FaceDetectorPreset. +func (fdp FaceDetectorPreset) AsFaceDetectorPreset() (*FaceDetectorPreset, bool) { + return &fdp, true +} + +// AsAudioAnalyzerPreset is the BasicPreset implementation for FaceDetectorPreset. +func (fdp FaceDetectorPreset) AsAudioAnalyzerPreset() (*AudioAnalyzerPreset, bool) { + return nil, false +} + +// AsBasicAudioAnalyzerPreset is the BasicPreset implementation for FaceDetectorPreset. +func (fdp FaceDetectorPreset) AsBasicAudioAnalyzerPreset() (BasicAudioAnalyzerPreset, bool) { + return nil, false +} + +// AsBuiltInStandardEncoderPreset is the BasicPreset implementation for FaceDetectorPreset. +func (fdp FaceDetectorPreset) AsBuiltInStandardEncoderPreset() (*BuiltInStandardEncoderPreset, bool) { + return nil, false +} + +// AsStandardEncoderPreset is the BasicPreset implementation for FaceDetectorPreset. +func (fdp FaceDetectorPreset) AsStandardEncoderPreset() (*StandardEncoderPreset, bool) { + return nil, false +} + +// AsVideoAnalyzerPreset is the BasicPreset implementation for FaceDetectorPreset. +func (fdp FaceDetectorPreset) AsVideoAnalyzerPreset() (*VideoAnalyzerPreset, bool) { + return nil, false +} + +// AsPreset is the BasicPreset implementation for FaceDetectorPreset. +func (fdp FaceDetectorPreset) AsPreset() (*Preset, bool) { + return nil, false +} + +// AsBasicPreset is the BasicPreset implementation for FaceDetectorPreset. +func (fdp FaceDetectorPreset) AsBasicPreset() (BasicPreset, bool) { + return &fdp, true +} + // FilterProperties the Media Filter properties. type FilterProperties struct { // PresentationTimeRange - The presentation time range. @@ -4614,9 +4708,9 @@ func (f Format) AsBasicFormat() (BasicFormat, bool) { // H264Layer describes the settings to be used when encoding the input video into a desired output bitrate // layer with the H.264 video codec. type H264Layer struct { - // Profile - Which profile of the H.264 standard should be used when encoding this layer. Default is Auto. Possible values include: 'H264VideoProfileAuto', 'H264VideoProfileBaseline', 'H264VideoProfileMain', 'H264VideoProfileHigh', 'H264VideoProfileHigh422', 'H264VideoProfileHigh444' + // Profile - We currently support Baseline, Main, High, High422, High444. Default is Auto. Possible values include: 'H264VideoProfileAuto', 'H264VideoProfileBaseline', 'H264VideoProfileMain', 'H264VideoProfileHigh', 'H264VideoProfileHigh422', 'H264VideoProfileHigh444' Profile H264VideoProfile `json:"profile,omitempty"` - // Level - Which level of the H.264 standard should be used when encoding this layer. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer. + // Level - We currently support Level up to 6.2. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer. Level *string `json:"level,omitempty"` // BufferWindow - The VBV buffer window length. The value should be in ISO 8601 format. The value should be in the range [0.1-100] seconds. The default is 5 seconds (for example, PT5S). BufferWindow *string `json:"bufferWindow,omitempty"` @@ -5519,7 +5613,7 @@ func (ji JobInput) AsBasicJobInput() (BasicJobInput, bool) { type JobInputAsset struct { // AssetName - The name of the input Asset. AssetName *string `json:"assetName,omitempty"` - // Files - List of files. Required for JobInputHttp. + // Files - List of files. Required for JobInputHttp. Maximum of 4000 characters each. Files *[]string `json:"files,omitempty"` // Label - A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'. Label *string `json:"label,omitempty"` @@ -5590,7 +5684,7 @@ type BasicJobInputClip interface { // JobInputClip represents input files for a Job. type JobInputClip struct { - // Files - List of files. Required for JobInputHttp. + // Files - List of files. Required for JobInputHttp. Maximum of 4000 characters each. Files *[]string `json:"files,omitempty"` // Label - A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'. Label *string `json:"label,omitempty"` @@ -5692,9 +5786,9 @@ func (jic JobInputClip) AsBasicJobInput() (BasicJobInput, bool) { // JobInputHTTP represents HTTPS job input. type JobInputHTTP struct { - // BaseURI - Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris. + // BaseURI - Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris. Maximum length of 4000 characters. BaseURI *string `json:"baseUri,omitempty"` - // Files - List of files. Required for JobInputHttp. + // Files - List of files. Required for JobInputHttp. Maximum of 4000 characters each. Files *[]string `json:"files,omitempty"` // Label - A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'. Label *string `json:"label,omitempty"` @@ -6010,7 +6104,7 @@ type JobProperties struct { Outputs *[]BasicJobOutput `json:"outputs,omitempty"` // Priority - Priority with which the job should be processed. Higher priority jobs are processed before lower priority jobs. If not set, the default is normal. Possible values include: 'Low', 'Normal', 'High' Priority Priority `json:"priority,omitempty"` - // CorrelationData - Customer provided correlation data that will be returned in Job and JobOutput state events. + // CorrelationData - Customer provided key, value pairs that will be returned in Job and JobOutput state events. CorrelationData map[string]*string `json:"correlationData"` } @@ -8179,6 +8273,7 @@ type PresentationTimeRange struct { // BasicPreset base type for all Presets, which define the recipe or instructions on how the input media files should // be processed. type BasicPreset interface { + AsFaceDetectorPreset() (*FaceDetectorPreset, bool) AsAudioAnalyzerPreset() (*AudioAnalyzerPreset, bool) AsBasicAudioAnalyzerPreset() (BasicAudioAnalyzerPreset, bool) AsBuiltInStandardEncoderPreset() (*BuiltInStandardEncoderPreset, bool) @@ -8190,7 +8285,7 @@ type BasicPreset interface { // Preset base type for all Presets, which define the recipe or instructions on how the input media files // should be processed. type Preset struct { - // OdataType - Possible values include: 'OdataTypePreset', 'OdataTypeMicrosoftMediaAudioAnalyzerPreset', 'OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset', 'OdataTypeMicrosoftMediaStandardEncoderPreset', 'OdataTypeMicrosoftMediaVideoAnalyzerPreset' + // OdataType - Possible values include: 'OdataTypePreset', 'OdataTypeMicrosoftMediaFaceDetectorPreset', 'OdataTypeMicrosoftMediaAudioAnalyzerPreset', 'OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset', 'OdataTypeMicrosoftMediaStandardEncoderPreset', 'OdataTypeMicrosoftMediaVideoAnalyzerPreset' OdataType OdataTypeBasicPreset `json:"@odata.type,omitempty"` } @@ -8202,6 +8297,10 @@ func unmarshalBasicPreset(body []byte) (BasicPreset, error) { } switch m["@odata.type"] { + case string(OdataTypeMicrosoftMediaFaceDetectorPreset): + var fdp FaceDetectorPreset + err := json.Unmarshal(body, &fdp) + return fdp, err case string(OdataTypeMicrosoftMediaAudioAnalyzerPreset): var aap AudioAnalyzerPreset err := json.Unmarshal(body, &aap) @@ -8253,6 +8352,11 @@ func (p Preset) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsFaceDetectorPreset is the BasicPreset implementation for Preset. +func (p Preset) AsFaceDetectorPreset() (*FaceDetectorPreset, bool) { + return nil, false +} + // AsAudioAnalyzerPreset is the BasicPreset implementation for Preset. func (p Preset) AsAudioAnalyzerPreset() (*AudioAnalyzerPreset, bool) { return nil, false @@ -8606,7 +8710,7 @@ type StandardEncoderPreset struct { Codecs *[]BasicCodec `json:"codecs,omitempty"` // Formats - The list of outputs to be produced by the encoder. Formats *[]BasicFormat `json:"formats,omitempty"` - // OdataType - Possible values include: 'OdataTypePreset', 'OdataTypeMicrosoftMediaAudioAnalyzerPreset', 'OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset', 'OdataTypeMicrosoftMediaStandardEncoderPreset', 'OdataTypeMicrosoftMediaVideoAnalyzerPreset' + // OdataType - Possible values include: 'OdataTypePreset', 'OdataTypeMicrosoftMediaFaceDetectorPreset', 'OdataTypeMicrosoftMediaAudioAnalyzerPreset', 'OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset', 'OdataTypeMicrosoftMediaStandardEncoderPreset', 'OdataTypeMicrosoftMediaVideoAnalyzerPreset' OdataType OdataTypeBasicPreset `json:"@odata.type,omitempty"` } @@ -8629,6 +8733,11 @@ func (sep StandardEncoderPreset) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsFaceDetectorPreset is the BasicPreset implementation for StandardEncoderPreset. +func (sep StandardEncoderPreset) AsFaceDetectorPreset() (*FaceDetectorPreset, bool) { + return nil, false +} + // AsAudioAnalyzerPreset is the BasicPreset implementation for StandardEncoderPreset. func (sep StandardEncoderPreset) AsAudioAnalyzerPreset() (*AudioAnalyzerPreset, bool) { return nil, false @@ -9452,6 +9561,8 @@ type StreamingLocatorProperties struct { ContentKeys *[]StreamingLocatorContentKey `json:"contentKeys,omitempty"` // AlternativeMediaID - Alternative Media ID of this Streaming Locator AlternativeMediaID *string `json:"alternativeMediaId,omitempty"` + // Filters - A list of asset or account filters which apply to this streaming locator + Filters *[]string `json:"filters,omitempty"` } // StreamingPath class of paths for streaming @@ -9711,7 +9822,7 @@ type StreamingPolicyContentKeys struct { // StreamingPolicyFairPlayConfiguration class to specify configurations of FairPlay in Streaming Policy type StreamingPolicyFairPlayConfiguration struct { - // CustomLicenseAcquisitionURLTemplate - The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys. + // CustomLicenseAcquisitionURLTemplate - Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested. CustomLicenseAcquisitionURLTemplate *string `json:"customLicenseAcquisitionUrlTemplate,omitempty"` // AllowPersistentLicense - All license to be persistent or not AllowPersistentLicense *bool `json:"allowPersistentLicense,omitempty"` @@ -9719,7 +9830,7 @@ type StreamingPolicyFairPlayConfiguration struct { // StreamingPolicyPlayReadyConfiguration class to specify configurations of PlayReady in Streaming Policy type StreamingPolicyPlayReadyConfiguration struct { - // CustomLicenseAcquisitionURLTemplate - The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys. + // CustomLicenseAcquisitionURLTemplate - Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested. CustomLicenseAcquisitionURLTemplate *string `json:"customLicenseAcquisitionUrlTemplate,omitempty"` // PlayReadyCustomAttributes - Custom attributes for PlayReady PlayReadyCustomAttributes *string `json:"playReadyCustomAttributes,omitempty"` @@ -9743,7 +9854,7 @@ type StreamingPolicyProperties struct { // StreamingPolicyWidevineConfiguration class to specify configurations of Widevine in Streaming Policy type StreamingPolicyWidevineConfiguration struct { - // CustomLicenseAcquisitionURLTemplate - The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys. + // CustomLicenseAcquisitionURLTemplate - Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested. CustomLicenseAcquisitionURLTemplate *string `json:"customLicenseAcquisitionUrlTemplate,omitempty"` } @@ -10597,9 +10708,9 @@ func (vVar Video) AsBasicCodec() (BasicCodec, bool) { type VideoAnalyzerPreset struct { // InsightsToExtract - The type of insights to be extracted. If not set then based on the content the type will selected. If the content is audio only then only audio insights are extracted and if it is video only. Possible values include: 'AudioInsightsOnly', 'VideoInsightsOnly', 'AllInsights' InsightsToExtract InsightsType `json:"insightsToExtract,omitempty"` - // AudioLanguage - The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are, 'en-US', 'en-GB', 'es-ES', 'es-MX', 'fr-FR', 'it-IT', 'ja-JP', 'pt-BR', 'zh-CN', 'de-DE', 'ar-EG', 'ru-RU', 'hi-IN'. If not specified, automatic language detection would be employed. This feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to English. + // AudioLanguage - The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are English ('en-US' and 'en-GB'), Spanish ('es-ES' and 'es-MX'), French ('fr-FR'), Italian ('it-IT'), Japanese ('ja-JP'), Portuguese ('pt-BR'), Chinese ('zh-CN'), German ('de-DE'), Arabic ('ar-EG' and 'ar-SY'), Russian ('ru-RU'), Hindi ('hi-IN'), and Korean ('ko-KR'). If you know the language of your content, it is recommended that you specify it. If the language isn't specified or set to null, automatic language detection will choose the first language detected and process with the selected language for the duration of the file. This language detection feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. It does not currently support dynamically switching between languages after the first language is detected. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to 'en-US'." AudioLanguage *string `json:"audioLanguage,omitempty"` - // OdataType - Possible values include: 'OdataTypePreset', 'OdataTypeMicrosoftMediaAudioAnalyzerPreset', 'OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset', 'OdataTypeMicrosoftMediaStandardEncoderPreset', 'OdataTypeMicrosoftMediaVideoAnalyzerPreset' + // OdataType - Possible values include: 'OdataTypePreset', 'OdataTypeMicrosoftMediaFaceDetectorPreset', 'OdataTypeMicrosoftMediaAudioAnalyzerPreset', 'OdataTypeMicrosoftMediaBuiltInStandardEncoderPreset', 'OdataTypeMicrosoftMediaStandardEncoderPreset', 'OdataTypeMicrosoftMediaVideoAnalyzerPreset' OdataType OdataTypeBasicPreset `json:"@odata.type,omitempty"` } @@ -10619,6 +10730,11 @@ func (vap VideoAnalyzerPreset) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsFaceDetectorPreset is the BasicPreset implementation for VideoAnalyzerPreset. +func (vap VideoAnalyzerPreset) AsFaceDetectorPreset() (*FaceDetectorPreset, bool) { + return nil, false +} + // AsAudioAnalyzerPreset is the BasicPreset implementation for VideoAnalyzerPreset. func (vap VideoAnalyzerPreset) AsAudioAnalyzerPreset() (*AudioAnalyzerPreset, bool) { return nil, false