CreateMediaCapturePipelineCommand

Creates a media pipeline.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { ChimeSDKMediaPipelinesClient, CreateMediaCapturePipelineCommand } from "@aws-sdk/client-chime-sdk-media-pipelines"; // ES Modules import
// const { ChimeSDKMediaPipelinesClient, CreateMediaCapturePipelineCommand } = require("@aws-sdk/client-chime-sdk-media-pipelines"); // CommonJS import
const client = new ChimeSDKMediaPipelinesClient(config);
const input = { // CreateMediaCapturePipelineRequest
  SourceType: "ChimeSdkMeeting", // required
  SourceArn: "STRING_VALUE", // required
  SinkType: "S3Bucket", // required
  SinkArn: "STRING_VALUE", // required
  ClientRequestToken: "STRING_VALUE",
  ChimeSdkMeetingConfiguration: { // ChimeSdkMeetingConfiguration
    SourceConfiguration: { // SourceConfiguration
      SelectedVideoStreams: { // SelectedVideoStreams
        AttendeeIds: [ // AttendeeIdList
          "STRING_VALUE",
        ],
        ExternalUserIds: [ // ExternalUserIdList
          "STRING_VALUE",
        ],
      },
    },
    ArtifactsConfiguration: { // ArtifactsConfiguration
      Audio: { // AudioArtifactsConfiguration
        MuxType: "AudioOnly" || "AudioWithActiveSpeakerVideo" || "AudioWithCompositedVideo", // required
      },
      Video: { // VideoArtifactsConfiguration
        State: "Enabled" || "Disabled", // required
        MuxType: "VideoOnly",
      },
      Content: { // ContentArtifactsConfiguration
        State: "Enabled" || "Disabled", // required
        MuxType: "ContentOnly",
      },
      CompositedVideo: { // CompositedVideoArtifactsConfiguration
        Layout: "GridView",
        Resolution: "HD" || "FHD",
        GridViewConfiguration: { // GridViewConfiguration
          ContentShareLayout: "PresenterOnly" || "Horizontal" || "Vertical" || "ActiveSpeakerOnly", // required
          PresenterOnlyConfiguration: { // PresenterOnlyConfiguration
            PresenterPosition: "TopLeft" || "TopRight" || "BottomLeft" || "BottomRight",
          },
          ActiveSpeakerOnlyConfiguration: { // ActiveSpeakerOnlyConfiguration
            ActiveSpeakerPosition: "TopLeft" || "TopRight" || "BottomLeft" || "BottomRight",
          },
          HorizontalLayoutConfiguration: { // HorizontalLayoutConfiguration
            TileOrder: "JoinSequence" || "SpeakerSequence",
            TilePosition: "Top" || "Bottom",
            TileCount: Number("int"),
            TileAspectRatio: "STRING_VALUE",
          },
          VerticalLayoutConfiguration: { // VerticalLayoutConfiguration
            TileOrder: "JoinSequence" || "SpeakerSequence",
            TilePosition: "Left" || "Right",
            TileCount: Number("int"),
            TileAspectRatio: "STRING_VALUE",
          },
          VideoAttribute: { // VideoAttribute
            CornerRadius: Number("int"),
            BorderColor: "Black" || "Blue" || "Red" || "Green" || "White" || "Yellow",
            HighlightColor: "Black" || "Blue" || "Red" || "Green" || "White" || "Yellow",
            BorderThickness: Number("int"),
          },
          CanvasOrientation: "Landscape" || "Portrait",
        },
      },
    },
  },
  SseAwsKeyManagementParams: { // SseAwsKeyManagementParams
    AwsKmsKeyId: "STRING_VALUE", // required
    AwsKmsEncryptionContext: "STRING_VALUE",
  },
  SinkIamRoleArn: "STRING_VALUE",
  Tags: [ // TagList
    { // Tag
      Key: "STRING_VALUE", // required
      Value: "STRING_VALUE", // required
    },
  ],
};
const command = new CreateMediaCapturePipelineCommand(input);
const response = await client.send(command);
// { // CreateMediaCapturePipelineResponse
//   MediaCapturePipeline: { // MediaCapturePipeline
//     MediaPipelineId: "STRING_VALUE",
//     MediaPipelineArn: "STRING_VALUE",
//     SourceType: "ChimeSdkMeeting",
//     SourceArn: "STRING_VALUE",
//     Status: "Initializing" || "InProgress" || "Failed" || "Stopping" || "Stopped" || "Paused" || "NotStarted",
//     SinkType: "S3Bucket",
//     SinkArn: "STRING_VALUE",
//     CreatedTimestamp: new Date("TIMESTAMP"),
//     UpdatedTimestamp: new Date("TIMESTAMP"),
//     ChimeSdkMeetingConfiguration: { // ChimeSdkMeetingConfiguration
//       SourceConfiguration: { // SourceConfiguration
//         SelectedVideoStreams: { // SelectedVideoStreams
//           AttendeeIds: [ // AttendeeIdList
//             "STRING_VALUE",
//           ],
//           ExternalUserIds: [ // ExternalUserIdList
//             "STRING_VALUE",
//           ],
//         },
//       },
//       ArtifactsConfiguration: { // ArtifactsConfiguration
//         Audio: { // AudioArtifactsConfiguration
//           MuxType: "AudioOnly" || "AudioWithActiveSpeakerVideo" || "AudioWithCompositedVideo", // required
//         },
//         Video: { // VideoArtifactsConfiguration
//           State: "Enabled" || "Disabled", // required
//           MuxType: "VideoOnly",
//         },
//         Content: { // ContentArtifactsConfiguration
//           State: "Enabled" || "Disabled", // required
//           MuxType: "ContentOnly",
//         },
//         CompositedVideo: { // CompositedVideoArtifactsConfiguration
//           Layout: "GridView",
//           Resolution: "HD" || "FHD",
//           GridViewConfiguration: { // GridViewConfiguration
//             ContentShareLayout: "PresenterOnly" || "Horizontal" || "Vertical" || "ActiveSpeakerOnly", // required
//             PresenterOnlyConfiguration: { // PresenterOnlyConfiguration
//               PresenterPosition: "TopLeft" || "TopRight" || "BottomLeft" || "BottomRight",
//             },
//             ActiveSpeakerOnlyConfiguration: { // ActiveSpeakerOnlyConfiguration
//               ActiveSpeakerPosition: "TopLeft" || "TopRight" || "BottomLeft" || "BottomRight",
//             },
//             HorizontalLayoutConfiguration: { // HorizontalLayoutConfiguration
//               TileOrder: "JoinSequence" || "SpeakerSequence",
//               TilePosition: "Top" || "Bottom",
//               TileCount: Number("int"),
//               TileAspectRatio: "STRING_VALUE",
//             },
//             VerticalLayoutConfiguration: { // VerticalLayoutConfiguration
//               TileOrder: "JoinSequence" || "SpeakerSequence",
//               TilePosition: "Left" || "Right",
//               TileCount: Number("int"),
//               TileAspectRatio: "STRING_VALUE",
//             },
//             VideoAttribute: { // VideoAttribute
//               CornerRadius: Number("int"),
//               BorderColor: "Black" || "Blue" || "Red" || "Green" || "White" || "Yellow",
//               HighlightColor: "Black" || "Blue" || "Red" || "Green" || "White" || "Yellow",
//               BorderThickness: Number("int"),
//             },
//             CanvasOrientation: "Landscape" || "Portrait",
//           },
//         },
//       },
//     },
//     SseAwsKeyManagementParams: { // SseAwsKeyManagementParams
//       AwsKmsKeyId: "STRING_VALUE", // required
//       AwsKmsEncryptionContext: "STRING_VALUE",
//     },
//     SinkIamRoleArn: "STRING_VALUE",
//   },
// };

CreateMediaCapturePipelineCommand Input

Parameter
Type
Description
SinkArn
Required
string | undefined

The ARN of the sink type.

SinkType
Required
MediaPipelineSinkType | undefined

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

SourceArn
Required
string | undefined

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

SourceType
Required
MediaPipelineSourceType | undefined

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

ChimeSdkMeetingConfiguration
ChimeSdkMeetingConfiguration | undefined

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

ClientRequestToken
string | undefined

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

SinkIamRoleArn
string | undefined

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.

SseAwsKeyManagementParams
SseAwsKeyManagementParams | undefined

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.

Tags
Tag[] | undefined

The tag key-value pairs.

CreateMediaCapturePipelineCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
MediaCapturePipeline
MediaCapturePipeline | undefined

A media pipeline object, the ID, source type, source ARN, sink type, and sink ARN of a media pipeline object.

Throws

Name
Fault
Details
BadRequestException
client

The input parameters don't match the service's restrictions.

ForbiddenException
client

The client is permanently forbidden from making the request.

ResourceLimitExceededException
client

The request exceeds the resource limit.

ServiceFailureException
server

The service encountered an unexpected error.

ServiceUnavailableException
server

The service is currently unavailable.

ThrottledClientException
client

The client exceeded its request rate limit.

UnauthorizedClientException
client

The client is not currently authorized to make the request.

ChimeSDKMediaPipelinesServiceException
Base exception class for all service exceptions from ChimeSDKMediaPipelines service.