Skip to content

Commit

Permalink
feat(client-mediaconnect): AWS Elemental MediaConnect now supports Co…
Browse files Browse the repository at this point in the history
…ntent Quality Analysis for enhanced source stream monitoring. This enables you to track specific audio and video metrics in transport stream source flows, ensuring your content meets quality standards.
  • Loading branch information
awstools committed Jan 2, 2025
1 parent c5a3b23 commit c0288fd
Show file tree
Hide file tree
Showing 6 changed files with 544 additions and 14 deletions.
42 changes: 42 additions & 0 deletions clients/client-mediaconnect/src/commands/CreateFlowCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,27 @@ export interface CreateFlowCommandOutput extends CreateFlowResponse, __MetadataB
* },
* SourceMonitoringConfig: { // MonitoringConfig
* ThumbnailState: "ENABLED" || "DISABLED",
* AudioMonitoringSettings: [ // __listOfAudioMonitoringSetting
* { // AudioMonitoringSetting
* SilentAudio: { // SilentAudio
* State: "ENABLED" || "DISABLED",
* ThresholdSeconds: Number("int"),
* },
* },
* ],
* ContentQualityAnalysisState: "ENABLED" || "DISABLED",
* VideoMonitoringSettings: [ // __listOfVideoMonitoringSetting
* { // VideoMonitoringSetting
* BlackFrames: { // BlackFrames
* State: "ENABLED" || "DISABLED",
* ThresholdSeconds: Number("int"),
* },
* FrozenFrames: { // FrozenFrames
* State: "ENABLED" || "DISABLED",
* ThresholdSeconds: Number("int"),
* },
* },
* ],
* },
* };
* const command = new CreateFlowCommand(input);
Expand Down Expand Up @@ -540,6 +561,27 @@ export interface CreateFlowCommandOutput extends CreateFlowResponse, __MetadataB
* // },
* // SourceMonitoringConfig: { // MonitoringConfig
* // ThumbnailState: "ENABLED" || "DISABLED",
* // AudioMonitoringSettings: [ // __listOfAudioMonitoringSetting
* // { // AudioMonitoringSetting
* // SilentAudio: { // SilentAudio
* // State: "ENABLED" || "DISABLED",
* // ThresholdSeconds: Number("int"),
* // },
* // },
* // ],
* // ContentQualityAnalysisState: "ENABLED" || "DISABLED",
* // VideoMonitoringSettings: [ // __listOfVideoMonitoringSetting
* // { // VideoMonitoringSetting
* // BlackFrames: { // BlackFrames
* // State: "ENABLED" || "DISABLED",
* // ThresholdSeconds: Number("int"),
* // },
* // FrozenFrames: { // FrozenFrames
* // State: "ENABLED" || "DISABLED",
* // ThresholdSeconds: Number("int"),
* // },
* // },
* // ],
* // },
* // },
* // };
Expand Down
21 changes: 21 additions & 0 deletions clients/client-mediaconnect/src/commands/DescribeFlowCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,27 @@ export interface DescribeFlowCommandOutput extends DescribeFlowResponse, __Metad
* // },
* // SourceMonitoringConfig: { // MonitoringConfig
* // ThumbnailState: "ENABLED" || "DISABLED",
* // AudioMonitoringSettings: [ // __listOfAudioMonitoringSetting
* // { // AudioMonitoringSetting
* // SilentAudio: { // SilentAudio
* // State: "ENABLED" || "DISABLED",
* // ThresholdSeconds: Number("int"),
* // },
* // },
* // ],
* // ContentQualityAnalysisState: "ENABLED" || "DISABLED",
* // VideoMonitoringSettings: [ // __listOfVideoMonitoringSetting
* // { // VideoMonitoringSetting
* // BlackFrames: { // BlackFrames
* // State: "ENABLED" || "DISABLED",
* // ThresholdSeconds: Number("int"),
* // },
* // FrozenFrames: { // FrozenFrames
* // State: "ENABLED" || "DISABLED",
* // ThresholdSeconds: Number("int"),
* // },
* // },
* // ],
* // },
* // },
* // Messages: { // Messages
Expand Down
42 changes: 42 additions & 0 deletions clients/client-mediaconnect/src/commands/UpdateFlowCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,27 @@ export interface UpdateFlowCommandOutput extends UpdateFlowResponse, __MetadataB
* },
* SourceMonitoringConfig: { // MonitoringConfig
* ThumbnailState: "ENABLED" || "DISABLED",
* AudioMonitoringSettings: [ // __listOfAudioMonitoringSetting
* { // AudioMonitoringSetting
* SilentAudio: { // SilentAudio
* State: "ENABLED" || "DISABLED",
* ThresholdSeconds: Number("int"),
* },
* },
* ],
* ContentQualityAnalysisState: "ENABLED" || "DISABLED",
* VideoMonitoringSettings: [ // __listOfVideoMonitoringSetting
* { // VideoMonitoringSetting
* BlackFrames: { // BlackFrames
* State: "ENABLED" || "DISABLED",
* ThresholdSeconds: Number("int"),
* },
* FrozenFrames: { // FrozenFrames
* State: "ENABLED" || "DISABLED",
* ThresholdSeconds: Number("int"),
* },
* },
* ],
* },
* };
* const command = new UpdateFlowCommand(input);
Expand Down Expand Up @@ -333,6 +354,27 @@ export interface UpdateFlowCommandOutput extends UpdateFlowResponse, __MetadataB
* // },
* // SourceMonitoringConfig: { // MonitoringConfig
* // ThumbnailState: "ENABLED" || "DISABLED",
* // AudioMonitoringSettings: [ // __listOfAudioMonitoringSetting
* // { // AudioMonitoringSetting
* // SilentAudio: { // SilentAudio
* // State: "ENABLED" || "DISABLED",
* // ThresholdSeconds: Number("int"),
* // },
* // },
* // ],
* // ContentQualityAnalysisState: "ENABLED" || "DISABLED",
* // VideoMonitoringSettings: [ // __listOfVideoMonitoringSetting
* // { // VideoMonitoringSetting
* // BlackFrames: { // BlackFrames
* // State: "ENABLED" || "DISABLED",
* // ThresholdSeconds: Number("int"),
* // },
* // FrozenFrames: { // FrozenFrames
* // State: "ENABLED" || "DISABLED",
* // ThresholdSeconds: Number("int"),
* // },
* // },
* // ],
* // },
* // },
* // };
Expand Down
145 changes: 131 additions & 14 deletions clients/client-mediaconnect/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -707,6 +707,50 @@ export interface AddOutputRequest {
OutputStatus?: OutputStatus | undefined;
}

/**
* @public
* @enum
*/
export const State = {
DISABLED: "DISABLED",
ENABLED: "ENABLED",
} as const;

/**
* @public
*/
export type State = (typeof State)[keyof typeof State];

/**
* Configures settings for the SilentAudio metric.
* @public
*/
export interface SilentAudio {
/**
* Indicates whether the SilentAudio metric is enabled or disabled.
* @public
*/
State?: State | undefined;

/**
* Specifies the number of consecutive seconds of silence that triggers an event or alert.
* @public
*/
ThresholdSeconds?: number | undefined;
}

/**
* Specifies the configuration for audio stream metrics monitoring.
* @public
*/
export interface AudioMonitoringSetting {
/**
* Detects periods of silence.
* @public
*/
SilentAudio?: SilentAudio | undefined;
}

/**
* The output of the bridge. A flow output is delivered to the AWS cloud.
* @public
Expand Down Expand Up @@ -2377,6 +2421,60 @@ export interface TransportStreamProgram {
Streams: TransportStream[] | undefined;
}

/**
* Configures settings for the BlackFrames metric.
* @public
*/
export interface BlackFrames {
/**
* Indicates whether the BlackFrames metric is enabled or disabled.
* @public
*/
State?: State | undefined;

/**
* Specifies the number of consecutive seconds of black frames that triggers an event or alert.
* @public
*/
ThresholdSeconds?: number | undefined;
}

/**
* Configures settings for the FrozenFrames metric.
* @public
*/
export interface FrozenFrames {
/**
* Indicates whether the FrozenFrames metric is enabled or disabled.
* @public
*/
State?: State | undefined;

/**
* Specifies the number of consecutive seconds of a static image that triggers an event or alert.
* @public
*/
ThresholdSeconds?: number | undefined;
}

/**
* Specifies the configuration for video stream metrics monitoring.
* @public
*/
export interface VideoMonitoringSetting {
/**
* Detects video frames that are black.
* @public
*/
BlackFrames?: BlackFrames | undefined;

/**
* Detects video frames that have not changed.
* @public
*/
FrozenFrames?: FrozenFrames | undefined;
}

/**
* @public
* @enum
Expand Down Expand Up @@ -2999,20 +3097,6 @@ export interface SourcePriority {
PrimarySource?: string | undefined;
}

/**
* @public
* @enum
*/
export const State = {
DISABLED: "DISABLED",
ENABLED: "ENABLED",
} as const;

/**
* @public
*/
export type State = (typeof State)[keyof typeof State];

/**
* The settings for source failover.
* @public
Expand Down Expand Up @@ -3113,6 +3197,21 @@ export const ConnectionStatus = {
*/
export type ConnectionStatus = (typeof ConnectionStatus)[keyof typeof ConnectionStatus];

/**
* @public
* @enum
*/
export const ContentQualityAnalysisState = {
DISABLED: "DISABLED",
ENABLED: "ENABLED",
} as const;

/**
* @public
*/
export type ContentQualityAnalysisState =
(typeof ContentQualityAnalysisState)[keyof typeof ContentQualityAnalysisState];

/**
* Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.
* @public
Expand Down Expand Up @@ -3248,6 +3347,24 @@ export interface MonitoringConfig {
* @public
*/
ThumbnailState?: ThumbnailState | undefined;

/**
* Contains the settings for audio stream metrics monitoring.
* @public
*/
AudioMonitoringSettings?: AudioMonitoringSetting[] | undefined;

/**
* Indicates whether content quality analysis is enabled or disabled.
* @public
*/
ContentQualityAnalysisState?: ContentQualityAnalysisState | undefined;

/**
* Contains the settings for video stream metrics monitoring.
* @public
*/
VideoMonitoringSettings?: VideoMonitoringSetting[] | undefined;
}

/**
Expand Down
Loading

0 comments on commit c0288fd

Please sign in to comment.