create_program

create_program(**kwargs)

Creates a program within a channel. For information about programs, see Working with programs in the MediaTailor User Guide .

See also: AWS API Documentation

Request Syntax

response = client.create_program(
    AdBreaks=[
        {
            'MessageType': 'SPLICE_INSERT'|'TIME_SIGNAL',
            'OffsetMillis': 123,
            'Slate': {
                'SourceLocationName': 'string',
                'VodSourceName': 'string'
            },
            'SpliceInsertMessage': {
                'AvailNum': 123,
                'AvailsExpected': 123,
                'SpliceEventId': 123,
                'UniqueProgramId': 123
            },
            'TimeSignalMessage': {
                'SegmentationDescriptors': [
                    {
                        'SegmentNum': 123,
                        'SegmentationEventId': 123,
                        'SegmentationTypeId': 123,
                        'SegmentationUpid': 'string',
                        'SegmentationUpidType': 123,
                        'SegmentsExpected': 123,
                        'SubSegmentNum': 123,
                        'SubSegmentsExpected': 123
                    },
                ]
            }
        },
    ],
    ChannelName='string',
    LiveSourceName='string',
    ProgramName='string',
    ScheduleConfiguration={
        'ClipRange': {
            'EndOffsetMillis': 123
        },
        'Transition': {
            'DurationMillis': 123,
            'RelativePosition': 'BEFORE_PROGRAM'|'AFTER_PROGRAM',
            'RelativeProgram': 'string',
            'ScheduledStartTimeMillis': 123,
            'Type': 'string'
        }
    },
    SourceLocationName='string',
    VodSourceName='string'
)
Parameters
  • AdBreaks (list) --

    The ad break configuration settings.

    • (dict) --

      Ad break configuration parameters.

      • MessageType (string) --

        The SCTE-35 ad insertion type. Accepted value: SPLICE_INSERT , TIME_SIGNAL .

      • OffsetMillis (integer) --

        How long (in milliseconds) after the beginning of the program that an ad starts. This value must fall within 100ms of a segment boundary, otherwise the ad break will be skipped.

      • Slate (dict) --

        Ad break slate configuration.

        • SourceLocationName (string) --

          The name of the source location where the slate VOD source is stored.

        • VodSourceName (string) --

          The slate VOD source name. The VOD source must already exist in a source location before it can be used for slate.

      • SpliceInsertMessage (dict) --

        This defines the SCTE-35 splice_insert() message inserted around the ad. For information about using splice_insert() , see the SCTE-35 specficiaiton, section 9.7.3.1.

        • AvailNum (integer) --

          This is written to splice_insert.avail_num , as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 0 . Values must be between 0 and 256 , inclusive.

        • AvailsExpected (integer) --

          This is written to splice_insert.avails_expected , as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 0 . Values must be between 0 and 256 , inclusive.

        • SpliceEventId (integer) --

          This is written to splice_insert.splice_event_id , as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 1 .

        • UniqueProgramId (integer) --

          This is written to splice_insert.unique_program_id , as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 0 . Values must be between 0 and 256 , inclusive.

      • TimeSignalMessage (dict) --

        Defines the SCTE-35 time_signal message inserted around the ad.

        Programs on a channel's schedule can be configured with one or more ad breaks. You can attach a splice_insert SCTE-35 message to the ad break. This message provides basic metadata about the ad break.

        See section 9.7.4 of the 2022 SCTE-35 specification for more information.

        • SegmentationDescriptors (list) --

          The configurations for the SCTE-35 segmentation_descriptor message(s) sent with the time_signal message.

          • (dict) --

            The segmentation_descriptor message can contain advanced metadata fields, like content identifiers, to convey a wide range of information about the ad break. MediaTailor writes the ad metadata in the egress manifest as part of the EXT-X-DATERANGE or EventStream ad marker's SCTE-35 data.

            segmentation_descriptor messages must be sent with the time_signal message type.

            See the segmentation_descriptor() table of the 2022 SCTE-35 specification for more information.

            • SegmentNum (integer) --

              The segment number to assign to the segmentation_descriptor.segment_num message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and 256, inclusive. The default value is 0.

            • SegmentationEventId (integer) --

              The Event Identifier to assign to the segmentation_descriptor.segmentation_event_id message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. The default value is 1.

            • SegmentationTypeId (integer) --

              The Type Identifier to assign to the segmentation_descriptor.segmentation_type_id message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is 48.

            • SegmentationUpid (string) --

              The Upid to assign to the segmentation_descriptor.segmentation_upid message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. The value must be a hexadecimal string containing only the characters 0 though 9 and A through F. The default value is "" (an empty string).

            • SegmentationUpidType (integer) --

              The Upid Type to assign to the segmentation_descriptor.segmentation_upid_type message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is 14.

            • SegmentsExpected (integer) --

              The number of segments expected, which is assigned to the segmentation_descriptor.segments_expectedS message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and 256, inclusive. The default value is 0.

            • SubSegmentNum (integer) --

              The sub-segment number to assign to the segmentation_descriptor.sub_segment_num message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The defualt value is null.

            • SubSegmentsExpected (integer) --

              The number of sub-segments expected, which is assigned to the segmentation_descriptor.sub_segments_expected message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is null.

  • ChannelName (string) --

    [REQUIRED]

    The name of the channel for this Program.

  • LiveSourceName (string) -- The name of the LiveSource for this Program.
  • ProgramName (string) --

    [REQUIRED]

    The name of the Program.

  • ScheduleConfiguration (dict) --

    [REQUIRED]

    The schedule configuration settings.

    • ClipRange (dict) --

      Program clip range configuration.

      • EndOffsetMillis (integer) -- [REQUIRED]

        The end offset of the clip range, in milliseconds, starting from the beginning of the VOD source associated with the program.

    • Transition (dict) -- [REQUIRED]

      Program transition configurations.

      • DurationMillis (integer) --

        The duration of the live program in seconds.

      • RelativePosition (string) -- [REQUIRED]

        The position where this program will be inserted relative to the RelativePosition .

      • RelativeProgram (string) --

        The name of the program that this program will be inserted next to, as defined by RelativePosition .

      • ScheduledStartTimeMillis (integer) --

        The date and time that the program is scheduled to start, in epoch milliseconds.

      • Type (string) -- [REQUIRED]

        Defines when the program plays in the schedule. You can set the value to ABSOLUTE or RELATIVE .

        ABSOLUTE - The program plays at a specific wall clock time. This setting can only be used for channels using the LINEAR PlaybackMode .

        Note the following considerations when using ABSOLUTE transitions:

        If the preceding program in the schedule has a duration that extends past the wall clock time, MediaTailor truncates the preceding program on a common segment boundary.

        If there are gaps in playback, MediaTailor plays the FillerSlate you configured for your linear channel.

        RELATIVE - The program is inserted into the schedule either before or after a program that you specify via RelativePosition .
  • SourceLocationName (string) --

    [REQUIRED]

    The name of the source location.

  • VodSourceName (string) -- The name that's used to refer to a VOD source.
Return type

dict

Returns

Response Syntax

{
    'AdBreaks': [
        {
            'MessageType': 'SPLICE_INSERT'|'TIME_SIGNAL',
            'OffsetMillis': 123,
            'Slate': {
                'SourceLocationName': 'string',
                'VodSourceName': 'string'
            },
            'SpliceInsertMessage': {
                'AvailNum': 123,
                'AvailsExpected': 123,
                'SpliceEventId': 123,
                'UniqueProgramId': 123
            },
            'TimeSignalMessage': {
                'SegmentationDescriptors': [
                    {
                        'SegmentNum': 123,
                        'SegmentationEventId': 123,
                        'SegmentationTypeId': 123,
                        'SegmentationUpid': 'string',
                        'SegmentationUpidType': 123,
                        'SegmentsExpected': 123,
                        'SubSegmentNum': 123,
                        'SubSegmentsExpected': 123
                    },
                ]
            }
        },
    ],
    'Arn': 'string',
    'ChannelName': 'string',
    'ClipRange': {
        'EndOffsetMillis': 123
    },
    'CreationTime': datetime(2015, 1, 1),
    'DurationMillis': 123,
    'LiveSourceName': 'string',
    'ProgramName': 'string',
    'ScheduledStartTime': datetime(2015, 1, 1),
    'SourceLocationName': 'string',
    'VodSourceName': 'string'
}

Response Structure

  • (dict) --

    • AdBreaks (list) --

      The ad break configuration settings.

      • (dict) --

        Ad break configuration parameters.

        • MessageType (string) --

          The SCTE-35 ad insertion type. Accepted value: SPLICE_INSERT , TIME_SIGNAL .

        • OffsetMillis (integer) --

          How long (in milliseconds) after the beginning of the program that an ad starts. This value must fall within 100ms of a segment boundary, otherwise the ad break will be skipped.

        • Slate (dict) --

          Ad break slate configuration.

          • SourceLocationName (string) --

            The name of the source location where the slate VOD source is stored.

          • VodSourceName (string) --

            The slate VOD source name. The VOD source must already exist in a source location before it can be used for slate.

        • SpliceInsertMessage (dict) --

          This defines the SCTE-35 splice_insert() message inserted around the ad. For information about using splice_insert() , see the SCTE-35 specficiaiton, section 9.7.3.1.

          • AvailNum (integer) --

            This is written to splice_insert.avail_num , as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 0 . Values must be between 0 and 256 , inclusive.

          • AvailsExpected (integer) --

            This is written to splice_insert.avails_expected , as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 0 . Values must be between 0 and 256 , inclusive.

          • SpliceEventId (integer) --

            This is written to splice_insert.splice_event_id , as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 1 .

          • UniqueProgramId (integer) --

            This is written to splice_insert.unique_program_id , as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is 0 . Values must be between 0 and 256 , inclusive.

        • TimeSignalMessage (dict) --

          Defines the SCTE-35 time_signal message inserted around the ad.

          Programs on a channel's schedule can be configured with one or more ad breaks. You can attach a splice_insert SCTE-35 message to the ad break. This message provides basic metadata about the ad break.

          See section 9.7.4 of the 2022 SCTE-35 specification for more information.

          • SegmentationDescriptors (list) --

            The configurations for the SCTE-35 segmentation_descriptor message(s) sent with the time_signal message.

            • (dict) --

              The segmentation_descriptor message can contain advanced metadata fields, like content identifiers, to convey a wide range of information about the ad break. MediaTailor writes the ad metadata in the egress manifest as part of the EXT-X-DATERANGE or EventStream ad marker's SCTE-35 data.

              segmentation_descriptor messages must be sent with the time_signal message type.

              See the segmentation_descriptor() table of the 2022 SCTE-35 specification for more information.

              • SegmentNum (integer) --

                The segment number to assign to the segmentation_descriptor.segment_num message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and 256, inclusive. The default value is 0.

              • SegmentationEventId (integer) --

                The Event Identifier to assign to the segmentation_descriptor.segmentation_event_id message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. The default value is 1.

              • SegmentationTypeId (integer) --

                The Type Identifier to assign to the segmentation_descriptor.segmentation_type_id message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is 48.

              • SegmentationUpid (string) --

                The Upid to assign to the segmentation_descriptor.segmentation_upid message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. The value must be a hexadecimal string containing only the characters 0 though 9 and A through F. The default value is "" (an empty string).

              • SegmentationUpidType (integer) --

                The Upid Type to assign to the segmentation_descriptor.segmentation_upid_type message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is 14.

              • SegmentsExpected (integer) --

                The number of segments expected, which is assigned to the segmentation_descriptor.segments_expectedS message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and 256, inclusive. The default value is 0.

              • SubSegmentNum (integer) --

                The sub-segment number to assign to the segmentation_descriptor.sub_segment_num message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The defualt value is null.

              • SubSegmentsExpected (integer) --

                The number of sub-segments expected, which is assigned to the segmentation_descriptor.sub_segments_expected message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is null.

    • Arn (string) --

      The ARN to assign to the program.

    • ChannelName (string) --

      The name to assign to the channel for this program.

    • ClipRange (dict) --

      The clip range configuration settings.

      • EndOffsetMillis (integer) --

        The end offset of the clip range, in milliseconds, starting from the beginning of the VOD source associated with the program.

    • CreationTime (datetime) --

      The time the program was created.

    • DurationMillis (integer) --

      The duration of the live program in milliseconds.

    • LiveSourceName (string) --

      The name of the LiveSource for this Program.

    • ProgramName (string) --

      The name to assign to this program.

    • ScheduledStartTime (datetime) --

      The scheduled start time for this Program.

    • SourceLocationName (string) --

      The name to assign to the source location for this program.

    • VodSourceName (string) --

      The name that's used to refer to a VOD source.