:doc:`MediaTailor <../../mediatailor>` / Client / describe_program

****************
describe_program
****************



.. py:method:: MediaTailor.Client.describe_program(**kwargs)

  

  Describes a program within a channel. For information about programs, see `Working with programs <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-programs.html>`__ in the *MediaTailor User Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/mediatailor-2018-04-23/DescribeProgram>`_  


  **Request Syntax**
  ::

    response = client.describe_program(
        ChannelName='string',
        ProgramName='string'
    )
    
  :type ChannelName: string
  :param ChannelName: **[REQUIRED]** 

    The name of the channel associated with this Program.

    

  
  :type ProgramName: string
  :param ProgramName: **[REQUIRED]** 

    The name of the program.

    

  
  
  :rtype: 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': [
                          {
                              'SegmentationEventId': 123,
                              'SegmentationUpidType': 123,
                              'SegmentationUpid': 'string',
                              'SegmentationTypeId': 123,
                              'SegmentNum': 123,
                              'SegmentsExpected': 123,
                              'SubSegmentNum': 123,
                              'SubSegmentsExpected': 123
                          },
                      ]
                  },
                  'AdBreakMetadata': [
                      {
                          'Key': 'string',
                          'Value': 'string'
                      },
                  ]
              },
          ],
          'Arn': 'string',
          'ChannelName': 'string',
          'CreationTime': datetime(2015, 1, 1),
          'LiveSourceName': 'string',
          'ProgramName': 'string',
          'ScheduledStartTime': datetime(2015, 1, 1),
          'SourceLocationName': 'string',
          'VodSourceName': 'string',
          'ClipRange': {
              'EndOffsetMillis': 123,
              'StartOffsetMillis': 123
          },
          'DurationMillis': 123,
          'AudienceMedia': [
              {
                  'Audience': 'string',
                  'AlternateMedia': [
                      {
                          'SourceLocationName': 'string',
                          'LiveSourceName': 'string',
                          'VodSourceName': 'string',
                          'ClipRange': {
                              'EndOffsetMillis': 123,
                              'StartOffsetMillis': 123
                          },
                          'ScheduledStartTimeMillis': 123,
                          'AdBreaks': [
                              {
                                  'MessageType': 'SPLICE_INSERT'|'TIME_SIGNAL',
                                  'OffsetMillis': 123,
                                  'Slate': {
                                      'SourceLocationName': 'string',
                                      'VodSourceName': 'string'
                                  },
                                  'SpliceInsertMessage': {
                                      'AvailNum': 123,
                                      'AvailsExpected': 123,
                                      'SpliceEventId': 123,
                                      'UniqueProgramId': 123
                                  },
                                  'TimeSignalMessage': {
                                      'SegmentationDescriptors': [
                                          {
                                              'SegmentationEventId': 123,
                                              'SegmentationUpidType': 123,
                                              'SegmentationUpid': 'string',
                                              'SegmentationTypeId': 123,
                                              'SegmentNum': 123,
                                              'SegmentsExpected': 123,
                                              'SubSegmentNum': 123,
                                              'SubSegmentsExpected': 123
                                          },
                                      ]
                                  },
                                  'AdBreakMetadata': [
                                      {
                                          'Key': 'string',
                                          'Value': 'string'
                                      },
                                  ]
                              },
                          ],
                          'DurationMillis': 123
                      },
                  ]
              },
          ]
      }
      
    **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.

                
                

                - **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.

                  
                

                - **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.

                  
                

                - **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).

                  
                

                - **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.

                  
                

                - **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.

                  
                

                - **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.

                  
            
          
        
          

          - **AdBreakMetadata** *(list) --* 

            Defines a list of key/value pairs that MediaTailor generates within the ``EXT-X-ASSET``tag for ``SCTE35_ENHANCED`` output.

            
            

            - *(dict) --* 

              For ``SCTE35_ENHANCED`` output, defines a key and corresponding value. MediaTailor generates these pairs within the ``EXT-X-ASSET``tag.

              
              

              - **Key** *(string) --* 

                For ``SCTE35_ENHANCED`` output, defines a key. MediaTailor takes this key, and its associated value, and generates the key/value pair within the ``EXT-X-ASSET``tag. If you specify a key, you must also specify a corresponding value.

                
              

              - **Value** *(string) --* 

                For ``SCTE35_ENHANCED`` output, defines a value. MediaTailor; takes this value, and its associated key, and generates the key/value pair within the ``EXT-X-ASSET``tag. If you specify a value, you must also specify a corresponding key.

                
          
        
      
    
      

      - **Arn** *(string) --* 

        The ARN of the program.

        
      

      - **ChannelName** *(string) --* 

        The name of the channel that the program belongs to.

        
      

      - **CreationTime** *(datetime) --* 

        The timestamp of when the program was created.

        
      

      - **LiveSourceName** *(string) --* 

        The name of the LiveSource for this Program.

        
      

      - **ProgramName** *(string) --* 

        The name of the program.

        
      

      - **ScheduledStartTime** *(datetime) --* 

        The date and time that the program is scheduled to start in ISO 8601 format and Coordinated Universal Time (UTC). For example, the value 2021-03-27T17:48:16.751Z represents March 27, 2021 at 17:48:16.751 UTC.

        
      

      - **SourceLocationName** *(string) --* 

        The source location name.

        
      

      - **VodSourceName** *(string) --* 

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

        
      

      - **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.

          
        

        - **StartOffsetMillis** *(integer) --* 

          The start offset of the clip range, in milliseconds. This offset truncates the start at the number of milliseconds into the duration of the VOD source.

          
    
      

      - **DurationMillis** *(integer) --* 

        The duration of the live program in milliseconds.

        
      

      - **AudienceMedia** *(list) --* 

        The list of AudienceMedia defined in program.

        
        

        - *(dict) --* 

          An AudienceMedia object contains an Audience and a list of AlternateMedia.

          
          

          - **Audience** *(string) --* 

            The Audience defined in AudienceMedia.

            
          

          - **AlternateMedia** *(list) --* 

            The list of AlternateMedia defined in AudienceMedia.

            
            

            - *(dict) --* 

              A playlist of media (VOD and/or live) to be played instead of the default media on a particular program.

              
              

              - **SourceLocationName** *(string) --* 

                The name of the source location for alternateMedia.

                
              

              - **LiveSourceName** *(string) --* 

                The name of the live source for alternateMedia.

                
              

              - **VodSourceName** *(string) --* 

                The name of the VOD source for alternateMedia.

                
              

              - **ClipRange** *(dict) --* 

                Clip range configuration for the VOD source associated with the program.

                
                

                - **EndOffsetMillis** *(integer) --* 

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

                  
                

                - **StartOffsetMillis** *(integer) --* 

                  The start offset of the clip range, in milliseconds. This offset truncates the start at the number of milliseconds into the duration of the VOD source.

                  
            
              

              - **ScheduledStartTimeMillis** *(integer) --* 

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

                
              

              - **AdBreaks** *(list) --* 

                Ad break configuration parameters defined in AlternateMedia.

                
                

                - *(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.

                        
                        

                        - **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.

                          
                        

                        - **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.

                          
                        

                        - **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).

                          
                        

                        - **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.

                          
                        

                        - **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.

                          
                        

                        - **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.

                          
                    
                  
                
                  

                  - **AdBreakMetadata** *(list) --* 

                    Defines a list of key/value pairs that MediaTailor generates within the ``EXT-X-ASSET``tag for ``SCTE35_ENHANCED`` output.

                    
                    

                    - *(dict) --* 

                      For ``SCTE35_ENHANCED`` output, defines a key and corresponding value. MediaTailor generates these pairs within the ``EXT-X-ASSET``tag.

                      
                      

                      - **Key** *(string) --* 

                        For ``SCTE35_ENHANCED`` output, defines a key. MediaTailor takes this key, and its associated value, and generates the key/value pair within the ``EXT-X-ASSET``tag. If you specify a key, you must also specify a corresponding value.

                        
                      

                      - **Value** *(string) --* 

                        For ``SCTE35_ENHANCED`` output, defines a value. MediaTailor; takes this value, and its associated key, and generates the key/value pair within the ``EXT-X-ASSET``tag. If you specify a value, you must also specify a corresponding key.

                        
                  
                
              
            
              

              - **DurationMillis** *(integer) --* 

                The duration of the alternateMedia in milliseconds.

                
          
        
      
    
  