:doc:`MediaLive <../../medialive>` / Client / update_multiplex_program

************************
update_multiplex_program
************************



.. py:method:: MediaLive.Client.update_multiplex_program(**kwargs)

  Update a program in a multiplex.

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplexProgram>`_  


  **Request Syntax**
  ::

    response = client.update_multiplex_program(
        MultiplexId='string',
        MultiplexProgramSettings={
            'PreferredChannelPipeline': 'CURRENTLY_ACTIVE'|'PIPELINE_0'|'PIPELINE_1',
            'ProgramNumber': 123,
            'ServiceDescriptor': {
                'ProviderName': 'string',
                'ServiceName': 'string'
            },
            'VideoSettings': {
                'ConstantBitrate': 123,
                'StatmuxSettings': {
                    'MaximumBitrate': 123,
                    'MinimumBitrate': 123,
                    'Priority': 123
                }
            }
        },
        ProgramName='string'
    )
    
  :type MultiplexId: string
  :param MultiplexId: **[REQUIRED]** The ID of the multiplex of the program to update.

  
  :type MultiplexProgramSettings: dict
  :param MultiplexProgramSettings: The new settings for a multiplex program.

  
    - **PreferredChannelPipeline** *(string) --* Indicates which pipeline is preferred by the multiplex for program ingest.

    
    - **ProgramNumber** *(integer) --* **[REQUIRED]** Unique program number.

    
    - **ServiceDescriptor** *(dict) --* Transport stream service descriptor configuration for the Multiplex program.

    
      - **ProviderName** *(string) --* **[REQUIRED]** Name of the provider.

      
      - **ServiceName** *(string) --* **[REQUIRED]** Name of the service.

      
    
    - **VideoSettings** *(dict) --* Program video settings configuration.

    
      - **ConstantBitrate** *(integer) --* The constant bitrate configuration for the video encode. When this field is defined, StatmuxSettings must be undefined.

      
      - **StatmuxSettings** *(dict) --* Statmux rate control settings. When this field is defined, ConstantBitrate must be undefined.

      
        - **MaximumBitrate** *(integer) --* Maximum statmux bitrate.

        
        - **MinimumBitrate** *(integer) --* Minimum statmux bitrate.

        
        - **Priority** *(integer) --* The purpose of the priority is to use a combination of the\nmultiplex rate control algorithm and the QVBR capability of the\nencoder to prioritize the video quality of some channels in a\nmultiplex over others. Channels that have a higher priority will\nget higher video quality at the expense of the video quality of\nother channels in the multiplex with lower priority.

        
      
    
  
  :type ProgramName: string
  :param ProgramName: **[REQUIRED]** The name of the program to update.

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'MultiplexProgram': {
              'ChannelId': 'string',
              'MultiplexProgramSettings': {
                  'PreferredChannelPipeline': 'CURRENTLY_ACTIVE'|'PIPELINE_0'|'PIPELINE_1',
                  'ProgramNumber': 123,
                  'ServiceDescriptor': {
                      'ProviderName': 'string',
                      'ServiceName': 'string'
                  },
                  'VideoSettings': {
                      'ConstantBitrate': 123,
                      'StatmuxSettings': {
                          'MaximumBitrate': 123,
                          'MinimumBitrate': 123,
                          'Priority': 123
                      }
                  }
              },
              'PacketIdentifiersMap': {
                  'AudioPids': [
                      123,
                  ],
                  'DvbSubPids': [
                      123,
                  ],
                  'DvbTeletextPid': 123,
                  'EtvPlatformPid': 123,
                  'EtvSignalPid': 123,
                  'KlvDataPids': [
                      123,
                  ],
                  'PcrPid': 123,
                  'PmtPid': 123,
                  'PrivateMetadataPid': 123,
                  'Scte27Pids': [
                      123,
                  ],
                  'Scte35Pid': 123,
                  'TimedMetadataPid': 123,
                  'VideoPid': 123,
                  'AribCaptionsPid': 123,
                  'DvbTeletextPids': [
                      123,
                  ],
                  'EcmPid': 123,
                  'Smpte2038Pid': 123
              },
              'PipelineDetails': [
                  {
                      'ActiveChannelPipeline': 'string',
                      'PipelineId': 'string'
                  },
              ],
              'ProgramName': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* The update to the program has succeeded.
      

      - **MultiplexProgram** *(dict) --* The updated multiplex program.
        

        - **ChannelId** *(string) --* The MediaLive channel associated with the program.
        

        - **MultiplexProgramSettings** *(dict) --* The settings for this multiplex program.
          

          - **PreferredChannelPipeline** *(string) --* Indicates which pipeline is preferred by the multiplex for program ingest.
          

          - **ProgramNumber** *(integer) --* Unique program number.
          

          - **ServiceDescriptor** *(dict) --* Transport stream service descriptor configuration for the Multiplex program.
            

            - **ProviderName** *(string) --* Name of the provider.
            

            - **ServiceName** *(string) --* Name of the service.
        
          

          - **VideoSettings** *(dict) --* Program video settings configuration.
            

            - **ConstantBitrate** *(integer) --* The constant bitrate configuration for the video encode. When this field is defined, StatmuxSettings must be undefined.
            

            - **StatmuxSettings** *(dict) --* Statmux rate control settings. When this field is defined, ConstantBitrate must be undefined.
              

              - **MaximumBitrate** *(integer) --* Maximum statmux bitrate.
              

              - **MinimumBitrate** *(integer) --* Minimum statmux bitrate.
              

              - **Priority** *(integer) --* The purpose of the priority is to use a combination of the\nmultiplex rate control algorithm and the QVBR capability of the\nencoder to prioritize the video quality of some channels in a\nmultiplex over others. Channels that have a higher priority will\nget higher video quality at the expense of the video quality of\nother channels in the multiplex with lower priority.
          
        
      
        

        - **PacketIdentifiersMap** *(dict) --* The packet identifier map for this multiplex program.
          

          - **AudioPids** *(list) --* Placeholder documentation for __listOf__integer
            

            - *(integer) --* Placeholder documentation for __integer
        
          

          - **DvbSubPids** *(list) --* Placeholder documentation for __listOf__integer
            

            - *(integer) --* Placeholder documentation for __integer
        
          

          - **DvbTeletextPid** *(integer) --* Placeholder documentation for __integer
          

          - **EtvPlatformPid** *(integer) --* Placeholder documentation for __integer
          

          - **EtvSignalPid** *(integer) --* Placeholder documentation for __integer
          

          - **KlvDataPids** *(list) --* Placeholder documentation for __listOf__integer
            

            - *(integer) --* Placeholder documentation for __integer
        
          

          - **PcrPid** *(integer) --* Placeholder documentation for __integer
          

          - **PmtPid** *(integer) --* Placeholder documentation for __integer
          

          - **PrivateMetadataPid** *(integer) --* Placeholder documentation for __integer
          

          - **Scte27Pids** *(list) --* Placeholder documentation for __listOf__integer
            

            - *(integer) --* Placeholder documentation for __integer
        
          

          - **Scte35Pid** *(integer) --* Placeholder documentation for __integer
          

          - **TimedMetadataPid** *(integer) --* Placeholder documentation for __integer
          

          - **VideoPid** *(integer) --* Placeholder documentation for __integer
          

          - **AribCaptionsPid** *(integer) --* Placeholder documentation for __integer
          

          - **DvbTeletextPids** *(list) --* Placeholder documentation for __listOf__integer
            

            - *(integer) --* Placeholder documentation for __integer
        
          

          - **EcmPid** *(integer) --* Placeholder documentation for __integer
          

          - **Smpte2038Pid** *(integer) --* Placeholder documentation for __integer
      
        

        - **PipelineDetails** *(list) --* Contains information about the current sources for the specified program in the specified multiplex. Keep in mind that each multiplex pipeline connects to both pipelines in a given source channel (the channel identified by the program). But only one of those channel pipelines is ever active at one time.
          

          - *(dict) --* The current source for one of the pipelines in the multiplex.
            

            - **ActiveChannelPipeline** *(string) --* Identifies the channel pipeline that is currently active for the pipeline (identified by PipelineId) in the multiplex.
            

            - **PipelineId** *(string) --* Identifies a specific pipeline in the multiplex.
        
      
        

        - **ProgramName** *(string) --* The name of the multiplex program.
    
  
  **Exceptions**
  
  *   :py:class:`MediaLive.Client.exceptions.BadRequestException`

  
  *   :py:class:`MediaLive.Client.exceptions.UnprocessableEntityException`

  
  *   :py:class:`MediaLive.Client.exceptions.InternalServerErrorException`

  
  *   :py:class:`MediaLive.Client.exceptions.ForbiddenException`

  
  *   :py:class:`MediaLive.Client.exceptions.BadGatewayException`

  
  *   :py:class:`MediaLive.Client.exceptions.NotFoundException`

  
  *   :py:class:`MediaLive.Client.exceptions.GatewayTimeoutException`

  
  *   :py:class:`MediaLive.Client.exceptions.ConflictException`

  