Skip to content

Commit

Permalink
feat(client-medialive): AWS Elemental MediaLive adds a new feature, I…
Browse files Browse the repository at this point in the history
…D3 segment tagging, in CMAF Ingest output groups. It allows customers to insert ID3 tags into every output segment, controlled by a newly added channel schedule action Id3SegmentTagging.
awstools committed Jan 22, 2025
1 parent 9e04902 commit 9a07043
Showing 14 changed files with 312 additions and 44 deletions.
Original file line number Diff line number Diff line change
@@ -178,6 +178,13 @@ export interface BatchUpdateScheduleCommandOutput extends BatchUpdateScheduleRes
* "STRING_VALUE",
* ],
* },
* Id3SegmentTaggingSettings: { // Id3SegmentTaggingScheduleActionSettings
* Id3: "STRING_VALUE",
* Tag: "STRING_VALUE",
* },
* TimedMetadataSettings: { // TimedMetadataScheduleActionSettings
* Id3: "STRING_VALUE", // required
* },
* },
* ScheduleActionStartSettings: { // ScheduleActionStartSettings
* FixedModeScheduleActionStartSettings: { // FixedModeScheduleActionStartSettings
@@ -342,6 +349,13 @@ export interface BatchUpdateScheduleCommandOutput extends BatchUpdateScheduleRes
* // "STRING_VALUE",
* // ],
* // },
* // Id3SegmentTaggingSettings: { // Id3SegmentTaggingScheduleActionSettings
* // Id3: "STRING_VALUE",
* // Tag: "STRING_VALUE",
* // },
* // TimedMetadataSettings: { // TimedMetadataScheduleActionSettings
* // Id3: "STRING_VALUE", // required
* // },
* // },
* // ScheduleActionStartSettings: { // ScheduleActionStartSettings
* // FixedModeScheduleActionStartSettings: { // FixedModeScheduleActionStartSettings
@@ -491,6 +505,13 @@ export interface BatchUpdateScheduleCommandOutput extends BatchUpdateScheduleRes
* // Layer: Number("int"),
* // OutputNames: "<__listOf__string>", // required
* // },
* // Id3SegmentTaggingSettings: {
* // Id3: "STRING_VALUE",
* // Tag: "STRING_VALUE",
* // },
* // TimedMetadataSettings: {
* // Id3: "STRING_VALUE", // required
* // },
* // },
* // ScheduleActionStartSettings: {
* // FixedModeScheduleActionStartSettings: {
4 changes: 4 additions & 0 deletions clients/client-medialive/src/commands/CreateChannelCommand.ts
Original file line number Diff line number Diff line change
@@ -524,6 +524,8 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met
* KlvNameModifier: "STRING_VALUE",
* NielsenId3NameModifier: "STRING_VALUE",
* Scte35NameModifier: "STRING_VALUE",
* Id3Behavior: "DISABLED" || "ENABLED",
* Id3NameModifier: "STRING_VALUE",
* },
* SrtGroupSettings: { // SrtGroupSettings
* InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM",
@@ -1723,6 +1725,8 @@ export interface CreateChannelCommandOutput extends CreateChannelResponse, __Met
* // KlvNameModifier: "STRING_VALUE",
* // NielsenId3NameModifier: "STRING_VALUE",
* // Scte35NameModifier: "STRING_VALUE",
* // Id3Behavior: "DISABLED" || "ENABLED",
* // Id3NameModifier: "STRING_VALUE",
* // },
* // SrtGroupSettings: { // SrtGroupSettings
* // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM",
2 changes: 2 additions & 0 deletions clients/client-medialive/src/commands/DeleteChannelCommand.ts
Original file line number Diff line number Diff line change
@@ -535,6 +535,8 @@ export interface DeleteChannelCommandOutput extends DeleteChannelResponse, __Met
* // KlvNameModifier: "STRING_VALUE",
* // NielsenId3NameModifier: "STRING_VALUE",
* // Scte35NameModifier: "STRING_VALUE",
* // Id3Behavior: "DISABLED" || "ENABLED",
* // Id3NameModifier: "STRING_VALUE",
* // },
* // SrtGroupSettings: { // SrtGroupSettings
* // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM",
Original file line number Diff line number Diff line change
@@ -535,6 +535,8 @@ export interface DescribeChannelCommandOutput extends DescribeChannelResponse, _
* // KlvNameModifier: "STRING_VALUE",
* // NielsenId3NameModifier: "STRING_VALUE",
* // Scte35NameModifier: "STRING_VALUE",
* // Id3Behavior: "DISABLED" || "ENABLED",
* // Id3NameModifier: "STRING_VALUE",
* // },
* // SrtGroupSettings: { // SrtGroupSettings
* // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM",
Original file line number Diff line number Diff line change
@@ -184,6 +184,13 @@ export interface DescribeScheduleCommandOutput extends DescribeScheduleResponse,
* // "STRING_VALUE",
* // ],
* // },
* // Id3SegmentTaggingSettings: { // Id3SegmentTaggingScheduleActionSettings
* // Id3: "STRING_VALUE",
* // Tag: "STRING_VALUE",
* // },
* // TimedMetadataSettings: { // TimedMetadataScheduleActionSettings
* // Id3: "STRING_VALUE", // required
* // },
* // },
* // ScheduleActionStartSettings: { // ScheduleActionStartSettings
* // FixedModeScheduleActionStartSettings: { // FixedModeScheduleActionStartSettings
Original file line number Diff line number Diff line change
@@ -538,6 +538,8 @@ export interface RestartChannelPipelinesCommandOutput extends RestartChannelPipe
* // KlvNameModifier: "STRING_VALUE",
* // NielsenId3NameModifier: "STRING_VALUE",
* // Scte35NameModifier: "STRING_VALUE",
* // Id3Behavior: "DISABLED" || "ENABLED",
* // Id3NameModifier: "STRING_VALUE",
* // },
* // SrtGroupSettings: { // SrtGroupSettings
* // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM",
2 changes: 2 additions & 0 deletions clients/client-medialive/src/commands/StartChannelCommand.ts
Original file line number Diff line number Diff line change
@@ -535,6 +535,8 @@ export interface StartChannelCommandOutput extends StartChannelResponse, __Metad
* // KlvNameModifier: "STRING_VALUE",
* // NielsenId3NameModifier: "STRING_VALUE",
* // Scte35NameModifier: "STRING_VALUE",
* // Id3Behavior: "DISABLED" || "ENABLED",
* // Id3NameModifier: "STRING_VALUE",
* // },
* // SrtGroupSettings: { // SrtGroupSettings
* // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM",
2 changes: 2 additions & 0 deletions clients/client-medialive/src/commands/StopChannelCommand.ts
Original file line number Diff line number Diff line change
@@ -535,6 +535,8 @@ export interface StopChannelCommandOutput extends StopChannelResponse, __Metadat
* // KlvNameModifier: "STRING_VALUE",
* // NielsenId3NameModifier: "STRING_VALUE",
* // Scte35NameModifier: "STRING_VALUE",
* // Id3Behavior: "DISABLED" || "ENABLED",
* // Id3NameModifier: "STRING_VALUE",
* // },
* // SrtGroupSettings: { // SrtGroupSettings
* // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM",
Original file line number Diff line number Diff line change
@@ -568,6 +568,8 @@ export interface UpdateChannelClassCommandOutput extends UpdateChannelClassRespo
* // KlvNameModifier: "STRING_VALUE",
* // NielsenId3NameModifier: "STRING_VALUE",
* // Scte35NameModifier: "STRING_VALUE",
* // Id3Behavior: "DISABLED" || "ENABLED",
* // Id3NameModifier: "STRING_VALUE",
* // },
* // SrtGroupSettings: { // SrtGroupSettings
* // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM",
4 changes: 4 additions & 0 deletions clients/client-medialive/src/commands/UpdateChannelCommand.ts
Original file line number Diff line number Diff line change
@@ -524,6 +524,8 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met
* KlvNameModifier: "STRING_VALUE",
* NielsenId3NameModifier: "STRING_VALUE",
* Scte35NameModifier: "STRING_VALUE",
* Id3Behavior: "DISABLED" || "ENABLED",
* Id3NameModifier: "STRING_VALUE",
* },
* SrtGroupSettings: { // SrtGroupSettings
* InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM",
@@ -1710,6 +1712,8 @@ export interface UpdateChannelCommandOutput extends UpdateChannelResponse, __Met
* // KlvNameModifier: "STRING_VALUE",
* // NielsenId3NameModifier: "STRING_VALUE",
* // Scte35NameModifier: "STRING_VALUE",
* // Id3Behavior: "DISABLED" || "ENABLED",
* // Id3NameModifier: "STRING_VALUE",
* // },
* // SrtGroupSettings: { // SrtGroupSettings
* // InputLossAction: "DROP_PROGRAM" || "DROP_TS" || "EMIT_PROGRAM",
107 changes: 68 additions & 39 deletions clients/client-medialive/src/models/models_1.ts
Original file line number Diff line number Diff line change
@@ -982,6 +982,20 @@ export interface ArchiveGroupSettings {
RolloverInterval?: number | undefined;
}

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

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

/**
* @public
* @enum
@@ -1103,6 +1117,18 @@ export interface CmafIngestGroupSettings {
* @public
*/
Scte35NameModifier?: string | undefined;

/**
* Set to ENABLED to enable ID3 metadata insertion. To include metadata, you configure other parameters in the output group, or you add an ID3 action to the channel schedule.
* @public
*/
Id3Behavior?: CmafId3Behavior | undefined;

/**
* Change the modifier that MediaLive automatically adds to the Streams() name that identifies an ID3 track. The default is "id3", which means the default name will be Streams(id3.cmfm). Any string you enter here will replace the "id3" string.\nThe modifier can only contain: numbers, letters, plus (+), minus (-), underscore (_) and period (.) and has a maximum length of 100 characters.
* @public
*/
Id3NameModifier?: string | undefined;
}

/**
@@ -2927,6 +2953,24 @@ export interface HlsTimedMetadataScheduleActionSettings {
Id3: string | undefined;
}

/**
* Settings for the action to insert ID3 metadata in every segment, in applicable output groups.
* @public
*/
export interface Id3SegmentTaggingScheduleActionSettings {
/**
* Complete this parameter if you want to specify the entire ID3 metadata. Enter a base64 string that contains one or more fully formed ID3 tags, according to the ID3 specification: http://id3.org/id3v2.4.0-structure
* @public
*/
Id3?: string | undefined;

/**
* Complete this parameter if you want to specify only the metadata, not the entire frame. MediaLive will insert the metadata in a TXXX frame. Enter the value as plain text. You can include standard MediaLive variable data such as the current segment number.
* @public
*/
Tag?: string | undefined;
}

/**
* @public
* @enum
@@ -3560,6 +3604,18 @@ export interface StaticImageOutputDeactivateScheduleActionSettings {
OutputNames: string[] | undefined;
}

/**
* Settings for the action to insert ID3 metadata (as a one-time action) in applicable output groups.
* @public
*/
export interface TimedMetadataScheduleActionSettings {
/**
* Enter a base64 string that contains one or more fully formed ID3 tags.See the ID3 specification: http://id3.org/id3v2.4.0-structure
* @public
*/
Id3: string | undefined;
}

/**
* Holds the settings for a single schedule action.
* @public
@@ -3654,6 +3710,18 @@ export interface ScheduleActionSettings {
* @public
*/
StaticImageOutputDeactivateSettings?: StaticImageOutputDeactivateScheduleActionSettings | undefined;

/**
* Action to insert ID3 metadata in every segment, in applicable output groups
* @public
*/
Id3SegmentTaggingSettings?: Id3SegmentTaggingScheduleActionSettings | undefined;

/**
* Action to insert ID3 metadata once, in applicable output groups
* @public
*/
TimedMetadataSettings?: TimedMetadataScheduleActionSettings | undefined;
}

/**
@@ -7137,42 +7205,3 @@ export interface InputLossBehavior {
*/
RepeatFrameMsec?: number | undefined;
}

/**
* @public
* @enum
*/
export const GlobalConfigurationOutputLockingMode = {
EPOCH_LOCKING: "EPOCH_LOCKING",
PIPELINE_LOCKING: "PIPELINE_LOCKING",
} as const;

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

/**
* Epoch Locking Settings
* @public
*/
export interface EpochLockingSettings {
/**
* Optional. Enter a value here to use a custom epoch, instead of the standard epoch (which started at 1970-01-01T00:00:00 UTC). Specify the start time of the custom epoch, in YYYY-MM-DDTHH:MM:SS in UTC. The time must be 2000-01-01T00:00:00 or later. Always set the MM:SS portion to 00:00.
* @public
*/
CustomEpoch?: string | undefined;

/**
* Optional. Enter a time for the jam sync. The default is midnight UTC. When epoch locking is enabled, MediaLive performs a daily jam sync on every output encode to ensure timecodes don’t diverge from the wall clock. The jam sync applies only to encodes with frame rate of 29.97 or 59.94 FPS. To override, enter a time in HH:MM:SS in UTC. Always set the MM:SS portion to 00:00.
* @public
*/
JamSyncTime?: string | undefined;
}

/**
* Pipeline Locking Settings
* @public
*/
export interface PipelineLockingSettings {}
42 changes: 39 additions & 3 deletions clients/client-medialive/src/models/models_2.ts
Original file line number Diff line number Diff line change
@@ -103,14 +103,11 @@ import {
AvailConfiguration,
BlackoutSlate,
ColorCorrectionSettings,
EpochLockingSettings,
FeatureActivations,
GlobalConfigurationInputEndAction,
GlobalConfigurationOutputLockingMode,
InputLossBehavior,
OutputGroup,
PipelineDetail,
PipelineLockingSettings,
RenewalSettings,
Reservation,
ReservationState,
@@ -126,6 +123,45 @@ import {
VideoDescription,
} from "./models_1";

/**
* @public
* @enum
*/
export const GlobalConfigurationOutputLockingMode = {
EPOCH_LOCKING: "EPOCH_LOCKING",
PIPELINE_LOCKING: "PIPELINE_LOCKING",
} as const;

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

/**
* Epoch Locking Settings
* @public
*/
export interface EpochLockingSettings {
/**
* Optional. Enter a value here to use a custom epoch, instead of the standard epoch (which started at 1970-01-01T00:00:00 UTC). Specify the start time of the custom epoch, in YYYY-MM-DDTHH:MM:SS in UTC. The time must be 2000-01-01T00:00:00 or later. Always set the MM:SS portion to 00:00.
* @public
*/
CustomEpoch?: string | undefined;

/**
* Optional. Enter a time for the jam sync. The default is midnight UTC. When epoch locking is enabled, MediaLive performs a daily jam sync on every output encode to ensure timecodes don’t diverge from the wall clock. The jam sync applies only to encodes with frame rate of 29.97 or 59.94 FPS. To override, enter a time in HH:MM:SS in UTC. Always set the MM:SS portion to 00:00.
* @public
*/
JamSyncTime?: string | undefined;
}

/**
* Pipeline Locking Settings
* @public
*/
export interface PipelineLockingSettings {}

/**
* Output Locking Settings
* @public
Loading

0 comments on commit 9a07043

Please sign in to comment.