Method: Aws::ChimeSDKMediaPipelines::Client#create_media_capture_pipeline

Defined in:
lib/aws-sdk-chimesdkmediapipelines/client.rb

#create_media_capture_pipeline(params = {}) ⇒ Types::CreateMediaCapturePipelineResponse

Creates a media pipeline.

Examples:

Request syntax with placeholder values


resp = client.create_media_capture_pipeline({
  source_type: "ChimeSdkMeeting", # required, accepts ChimeSdkMeeting
  source_arn: "Arn", # required
  sink_type: "S3Bucket", # required, accepts S3Bucket
  sink_arn: "Arn", # required
  client_request_token: "ClientRequestToken",
  chime_sdk_meeting_configuration: {
    source_configuration: {
      selected_video_streams: {
        attendee_ids: ["GuidString"],
        external_user_ids: ["ExternalUserIdType"],
      },
    },
    artifacts_configuration: {
      audio: { # required
        mux_type: "AudioOnly", # required, accepts AudioOnly, AudioWithActiveSpeakerVideo, AudioWithCompositedVideo
      },
      video: { # required
        state: "Enabled", # required, accepts Enabled, Disabled
        mux_type: "VideoOnly", # accepts VideoOnly
      },
      content: { # required
        state: "Enabled", # required, accepts Enabled, Disabled
        mux_type: "ContentOnly", # accepts ContentOnly
      },
      composited_video: {
        layout: "GridView", # accepts GridView
        resolution: "HD", # accepts HD, FHD
        grid_view_configuration: { # required
          content_share_layout: "PresenterOnly", # required, accepts PresenterOnly, Horizontal, Vertical, ActiveSpeakerOnly
          presenter_only_configuration: {
            presenter_position: "TopLeft", # accepts TopLeft, TopRight, BottomLeft, BottomRight
          },
          active_speaker_only_configuration: {
            active_speaker_position: "TopLeft", # accepts TopLeft, TopRight, BottomLeft, BottomRight
          },
          horizontal_layout_configuration: {
            tile_order: "JoinSequence", # accepts JoinSequence, SpeakerSequence
            tile_position: "Top", # accepts Top, Bottom
            tile_count: 1,
            tile_aspect_ratio: "TileAspectRatio",
          },
          vertical_layout_configuration: {
            tile_order: "JoinSequence", # accepts JoinSequence, SpeakerSequence
            tile_position: "Left", # accepts Left, Right
            tile_count: 1,
            tile_aspect_ratio: "TileAspectRatio",
          },
          video_attribute: {
            corner_radius: 1,
            border_color: "Black", # accepts Black, Blue, Red, Green, White, Yellow
            highlight_color: "Black", # accepts Black, Blue, Red, Green, White, Yellow
            border_thickness: 1,
          },
          canvas_orientation: "Landscape", # accepts Landscape, Portrait
        },
      },
    },
  },
  sse_aws_key_management_params: {
    aws_kms_key_id: "String", # required
    aws_kms_encryption_context: "String",
  },
  sink_iam_role_arn: "Arn",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp.media_capture_pipeline.media_pipeline_id #=> String
resp.media_capture_pipeline.media_pipeline_arn #=> String
resp.media_capture_pipeline.source_type #=> String, one of "ChimeSdkMeeting"
resp.media_capture_pipeline.source_arn #=> String
resp.media_capture_pipeline.status #=> String, one of "Initializing", "InProgress", "Failed", "Stopping", "Stopped", "Paused", "NotStarted"
resp.media_capture_pipeline.sink_type #=> String, one of "S3Bucket"
resp.media_capture_pipeline.sink_arn #=> String
resp.media_capture_pipeline.created_timestamp #=> Time
resp.media_capture_pipeline.updated_timestamp #=> Time
resp.media_capture_pipeline.chime_sdk_meeting_configuration.source_configuration.selected_video_streams.attendee_ids #=> Array
resp.media_capture_pipeline.chime_sdk_meeting_configuration.source_configuration.selected_video_streams.attendee_ids[0] #=> String
resp.media_capture_pipeline.chime_sdk_meeting_configuration.source_configuration.selected_video_streams.external_user_ids #=> Array
resp.media_capture_pipeline.chime_sdk_meeting_configuration.source_configuration.selected_video_streams.external_user_ids[0] #=> String
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.audio.mux_type #=> String, one of "AudioOnly", "AudioWithActiveSpeakerVideo", "AudioWithCompositedVideo"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.video.state #=> String, one of "Enabled", "Disabled"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.video.mux_type #=> String, one of "VideoOnly"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.content.state #=> String, one of "Enabled", "Disabled"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.content.mux_type #=> String, one of "ContentOnly"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.layout #=> String, one of "GridView"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.resolution #=> String, one of "HD", "FHD"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.content_share_layout #=> String, one of "PresenterOnly", "Horizontal", "Vertical", "ActiveSpeakerOnly"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.presenter_only_configuration.presenter_position #=> String, one of "TopLeft", "TopRight", "BottomLeft", "BottomRight"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.active_speaker_only_configuration.active_speaker_position #=> String, one of "TopLeft", "TopRight", "BottomLeft", "BottomRight"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.horizontal_layout_configuration.tile_order #=> String, one of "JoinSequence", "SpeakerSequence"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.horizontal_layout_configuration.tile_position #=> String, one of "Top", "Bottom"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.horizontal_layout_configuration.tile_count #=> Integer
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.horizontal_layout_configuration.tile_aspect_ratio #=> String
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.vertical_layout_configuration.tile_order #=> String, one of "JoinSequence", "SpeakerSequence"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.vertical_layout_configuration.tile_position #=> String, one of "Left", "Right"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.vertical_layout_configuration.tile_count #=> Integer
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.vertical_layout_configuration.tile_aspect_ratio #=> String
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.video_attribute.corner_radius #=> Integer
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.video_attribute.border_color #=> String, one of "Black", "Blue", "Red", "Green", "White", "Yellow"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.video_attribute.highlight_color #=> String, one of "Black", "Blue", "Red", "Green", "White", "Yellow"
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.video_attribute.border_thickness #=> Integer
resp.media_capture_pipeline.chime_sdk_meeting_configuration.artifacts_configuration.composited_video.grid_view_configuration.canvas_orientation #=> String, one of "Landscape", "Portrait"
resp.media_capture_pipeline.sse_aws_key_management_params.aws_kms_key_id #=> String
resp.media_capture_pipeline.sse_aws_key_management_params.aws_kms_encryption_context #=> String
resp.media_capture_pipeline.sink_iam_role_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :source_type (required, String)

    Source type from which the media artifacts are captured. A Chime SDK Meeting is the only supported source.

  • :source_arn (required, String)

    ARN of the source from which the media artifacts are captured.

  • :sink_type (required, String)

    Destination type to which the media artifacts are saved. You must use an S3 bucket.

  • :sink_arn (required, String)

    The ARN of the sink type.

  • :client_request_token (String)

    The unique identifier for the client request. The token makes the API request idempotent. Use a unique token for each media pipeline request.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

  • :chime_sdk_meeting_configuration (Types::ChimeSdkMeetingConfiguration)

    The configuration for a specified media pipeline. ‘SourceType` must be `ChimeSdkMeeting`.

  • :sse_aws_key_management_params (Types::SseAwsKeyManagementParams)

    An object that contains server side encryption parameters to be used by media capture pipeline. The parameters can also be used by media concatenation pipeline taking media capture pipeline as a media source.

  • :sink_iam_role_arn (String)

    The Amazon Resource Name (ARN) of the sink role to be used with ‘AwsKmsKeyId` in `SseAwsKeyManagementParams`. Can only interact with `S3Bucket` sink type. The role must belong to the caller’s account and be able to act on behalf of the caller during the API call. All minimum policy permissions requirements for the caller to perform sink-related actions are the same for `SinkIamRoleArn`.

    Additionally, the role must have permission to ‘kms:GenerateDataKey` using KMS key supplied as `AwsKmsKeyId` in `SseAwsKeyManagementParams`. If media concatenation will be required later, the role must also have permission to `kms:Decrypt` for the same KMS key.

  • :tags (Array<Types::Tag>)

    The tag key-value pairs.

Returns:

See Also:



654
655
656
657
# File 'lib/aws-sdk-chimesdkmediapipelines/client.rb', line 654

def create_media_capture_pipeline(params = {}, options = {})
  req = build_request(:create_media_capture_pipeline, params)
  req.send_request(options)
end