Skip to content

Commit 002e420

Browse files
author
awstools
committed
feat(client-chime-sdk-media-pipelines): The Amazon Chime SDK now supports live streaming of real-time video from the Amazon Chime SDK sessions to streaming platforms such as Amazon IVS and Amazon Elemental MediaLive. We have also added support for concatenation to create a single media capture file.
1 parent 58a3e7a commit 002e420

21 files changed

+4318
-281
lines changed

clients/client-chime-sdk-media-pipelines/README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@
99

1010
AWS SDK for JavaScript ChimeSDKMediaPipelines Client for Node.js, Browser and React Native.
1111

12-
<p>The Amazon Chime SDK media pipeline APIs in this section allow software developers to create Amazon Chime SDK media pipelines
13-
and capture audio, video, events, and data messages from Amazon Chime SDK meetings. For more information about media pipleines, see
14-
<a href="https://docs.aws.amazon.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Media_Pipelines.html">Amzon Chime SDK media pipelines</a>.
15-
</p>
12+
<p>The Amazon Chime SDK media pipeline APIs in this section allow software developers to
13+
create Amazon Chime SDK media pipelines that capture, concatenate, or stream your Amazon Chime SDK meetings. For more information about media pipleines, see <a href="http://amazonaws.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Media_Pipelines.html">Amazon Chime SDK media pipelines</a>. </p>
1614

1715
## Installing
1816

clients/client-chime-sdk-media-pipelines/src/ChimeSDKMediaPipelines.ts

Lines changed: 194 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,46 @@ import {
77
CreateMediaCapturePipelineCommandInput,
88
CreateMediaCapturePipelineCommandOutput,
99
} from "./commands/CreateMediaCapturePipelineCommand";
10+
import {
11+
CreateMediaConcatenationPipelineCommand,
12+
CreateMediaConcatenationPipelineCommandInput,
13+
CreateMediaConcatenationPipelineCommandOutput,
14+
} from "./commands/CreateMediaConcatenationPipelineCommand";
15+
import {
16+
CreateMediaLiveConnectorPipelineCommand,
17+
CreateMediaLiveConnectorPipelineCommandInput,
18+
CreateMediaLiveConnectorPipelineCommandOutput,
19+
} from "./commands/CreateMediaLiveConnectorPipelineCommand";
1020
import {
1121
DeleteMediaCapturePipelineCommand,
1222
DeleteMediaCapturePipelineCommandInput,
1323
DeleteMediaCapturePipelineCommandOutput,
1424
} from "./commands/DeleteMediaCapturePipelineCommand";
25+
import {
26+
DeleteMediaPipelineCommand,
27+
DeleteMediaPipelineCommandInput,
28+
DeleteMediaPipelineCommandOutput,
29+
} from "./commands/DeleteMediaPipelineCommand";
1530
import {
1631
GetMediaCapturePipelineCommand,
1732
GetMediaCapturePipelineCommandInput,
1833
GetMediaCapturePipelineCommandOutput,
1934
} from "./commands/GetMediaCapturePipelineCommand";
35+
import {
36+
GetMediaPipelineCommand,
37+
GetMediaPipelineCommandInput,
38+
GetMediaPipelineCommandOutput,
39+
} from "./commands/GetMediaPipelineCommand";
2040
import {
2141
ListMediaCapturePipelinesCommand,
2242
ListMediaCapturePipelinesCommandInput,
2343
ListMediaCapturePipelinesCommandOutput,
2444
} from "./commands/ListMediaCapturePipelinesCommand";
45+
import {
46+
ListMediaPipelinesCommand,
47+
ListMediaPipelinesCommandInput,
48+
ListMediaPipelinesCommandOutput,
49+
} from "./commands/ListMediaPipelinesCommand";
2550
import {
2651
ListTagsForResourceCommand,
2752
ListTagsForResourceCommandInput,
@@ -35,14 +60,12 @@ import {
3560
} from "./commands/UntagResourceCommand";
3661

3762
/**
38-
* <p>The Amazon Chime SDK media pipeline APIs in this section allow software developers to create Amazon Chime SDK media pipelines
39-
* and capture audio, video, events, and data messages from Amazon Chime SDK meetings. For more information about media pipleines, see
40-
* <a href="https://docs.aws.amazon.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Media_Pipelines.html">Amzon Chime SDK media pipelines</a>.
41-
* </p>
63+
* <p>The Amazon Chime SDK media pipeline APIs in this section allow software developers to
64+
* create Amazon Chime SDK media pipelines that capture, concatenate, or stream your Amazon Chime SDK meetings. For more information about media pipleines, see <a href="http://amazonaws.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Media_Pipelines.html">Amazon Chime SDK media pipelines</a>. </p>
4265
*/
4366
export class ChimeSDKMediaPipelines extends ChimeSDKMediaPipelinesClient {
4467
/**
45-
* <p>Creates a media capture pipeline.</p>
68+
* <p>Creates a media pipeline.</p>
4669
*/
4770
public createMediaCapturePipeline(
4871
args: CreateMediaCapturePipelineCommandInput,
@@ -74,7 +97,71 @@ export class ChimeSDKMediaPipelines extends ChimeSDKMediaPipelinesClient {
7497
}
7598

7699
/**
77-
* <p>Deletes the media capture pipeline.</p>
100+
* <p>Creates a media concatenation pipeline.</p>
101+
*/
102+
public createMediaConcatenationPipeline(
103+
args: CreateMediaConcatenationPipelineCommandInput,
104+
options?: __HttpHandlerOptions
105+
): Promise<CreateMediaConcatenationPipelineCommandOutput>;
106+
public createMediaConcatenationPipeline(
107+
args: CreateMediaConcatenationPipelineCommandInput,
108+
cb: (err: any, data?: CreateMediaConcatenationPipelineCommandOutput) => void
109+
): void;
110+
public createMediaConcatenationPipeline(
111+
args: CreateMediaConcatenationPipelineCommandInput,
112+
options: __HttpHandlerOptions,
113+
cb: (err: any, data?: CreateMediaConcatenationPipelineCommandOutput) => void
114+
): void;
115+
public createMediaConcatenationPipeline(
116+
args: CreateMediaConcatenationPipelineCommandInput,
117+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateMediaConcatenationPipelineCommandOutput) => void),
118+
cb?: (err: any, data?: CreateMediaConcatenationPipelineCommandOutput) => void
119+
): Promise<CreateMediaConcatenationPipelineCommandOutput> | void {
120+
const command = new CreateMediaConcatenationPipelineCommand(args);
121+
if (typeof optionsOrCb === "function") {
122+
this.send(command, optionsOrCb);
123+
} else if (typeof cb === "function") {
124+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
125+
this.send(command, optionsOrCb || {}, cb);
126+
} else {
127+
return this.send(command, optionsOrCb);
128+
}
129+
}
130+
131+
/**
132+
* <p>Creates a streaming media pipeline in an Amazon Chime SDK meeting.</p>
133+
*/
134+
public createMediaLiveConnectorPipeline(
135+
args: CreateMediaLiveConnectorPipelineCommandInput,
136+
options?: __HttpHandlerOptions
137+
): Promise<CreateMediaLiveConnectorPipelineCommandOutput>;
138+
public createMediaLiveConnectorPipeline(
139+
args: CreateMediaLiveConnectorPipelineCommandInput,
140+
cb: (err: any, data?: CreateMediaLiveConnectorPipelineCommandOutput) => void
141+
): void;
142+
public createMediaLiveConnectorPipeline(
143+
args: CreateMediaLiveConnectorPipelineCommandInput,
144+
options: __HttpHandlerOptions,
145+
cb: (err: any, data?: CreateMediaLiveConnectorPipelineCommandOutput) => void
146+
): void;
147+
public createMediaLiveConnectorPipeline(
148+
args: CreateMediaLiveConnectorPipelineCommandInput,
149+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateMediaLiveConnectorPipelineCommandOutput) => void),
150+
cb?: (err: any, data?: CreateMediaLiveConnectorPipelineCommandOutput) => void
151+
): Promise<CreateMediaLiveConnectorPipelineCommandOutput> | void {
152+
const command = new CreateMediaLiveConnectorPipelineCommand(args);
153+
if (typeof optionsOrCb === "function") {
154+
this.send(command, optionsOrCb);
155+
} else if (typeof cb === "function") {
156+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
157+
this.send(command, optionsOrCb || {}, cb);
158+
} else {
159+
return this.send(command, optionsOrCb);
160+
}
161+
}
162+
163+
/**
164+
* <p>Deletes the media pipeline.</p>
78165
*/
79166
public deleteMediaCapturePipeline(
80167
args: DeleteMediaCapturePipelineCommandInput,
@@ -106,7 +193,39 @@ export class ChimeSDKMediaPipelines extends ChimeSDKMediaPipelinesClient {
106193
}
107194

108195
/**
109-
* <p>Gets an existing media capture pipeline.</p>
196+
* <p>Deletes the media pipeline.</p>
197+
*/
198+
public deleteMediaPipeline(
199+
args: DeleteMediaPipelineCommandInput,
200+
options?: __HttpHandlerOptions
201+
): Promise<DeleteMediaPipelineCommandOutput>;
202+
public deleteMediaPipeline(
203+
args: DeleteMediaPipelineCommandInput,
204+
cb: (err: any, data?: DeleteMediaPipelineCommandOutput) => void
205+
): void;
206+
public deleteMediaPipeline(
207+
args: DeleteMediaPipelineCommandInput,
208+
options: __HttpHandlerOptions,
209+
cb: (err: any, data?: DeleteMediaPipelineCommandOutput) => void
210+
): void;
211+
public deleteMediaPipeline(
212+
args: DeleteMediaPipelineCommandInput,
213+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteMediaPipelineCommandOutput) => void),
214+
cb?: (err: any, data?: DeleteMediaPipelineCommandOutput) => void
215+
): Promise<DeleteMediaPipelineCommandOutput> | void {
216+
const command = new DeleteMediaPipelineCommand(args);
217+
if (typeof optionsOrCb === "function") {
218+
this.send(command, optionsOrCb);
219+
} else if (typeof cb === "function") {
220+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
221+
this.send(command, optionsOrCb || {}, cb);
222+
} else {
223+
return this.send(command, optionsOrCb);
224+
}
225+
}
226+
227+
/**
228+
* <p>Gets an existing media pipeline.</p>
110229
*/
111230
public getMediaCapturePipeline(
112231
args: GetMediaCapturePipelineCommandInput,
@@ -138,7 +257,39 @@ export class ChimeSDKMediaPipelines extends ChimeSDKMediaPipelinesClient {
138257
}
139258

140259
/**
141-
* <p>Returns a list of media capture pipelines.</p>
260+
* <p>Gets an existing media pipeline.</p>
261+
*/
262+
public getMediaPipeline(
263+
args: GetMediaPipelineCommandInput,
264+
options?: __HttpHandlerOptions
265+
): Promise<GetMediaPipelineCommandOutput>;
266+
public getMediaPipeline(
267+
args: GetMediaPipelineCommandInput,
268+
cb: (err: any, data?: GetMediaPipelineCommandOutput) => void
269+
): void;
270+
public getMediaPipeline(
271+
args: GetMediaPipelineCommandInput,
272+
options: __HttpHandlerOptions,
273+
cb: (err: any, data?: GetMediaPipelineCommandOutput) => void
274+
): void;
275+
public getMediaPipeline(
276+
args: GetMediaPipelineCommandInput,
277+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetMediaPipelineCommandOutput) => void),
278+
cb?: (err: any, data?: GetMediaPipelineCommandOutput) => void
279+
): Promise<GetMediaPipelineCommandOutput> | void {
280+
const command = new GetMediaPipelineCommand(args);
281+
if (typeof optionsOrCb === "function") {
282+
this.send(command, optionsOrCb);
283+
} else if (typeof cb === "function") {
284+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
285+
this.send(command, optionsOrCb || {}, cb);
286+
} else {
287+
return this.send(command, optionsOrCb);
288+
}
289+
}
290+
291+
/**
292+
* <p>Returns a list of media pipelines.</p>
142293
*/
143294
public listMediaCapturePipelines(
144295
args: ListMediaCapturePipelinesCommandInput,
@@ -170,7 +321,39 @@ export class ChimeSDKMediaPipelines extends ChimeSDKMediaPipelinesClient {
170321
}
171322

172323
/**
173-
* <p>Lists the tags applied to an Amazon Chime SDK media capture pipeline.</p>
324+
* <p>Returns a list of media pipelines.</p>
325+
*/
326+
public listMediaPipelines(
327+
args: ListMediaPipelinesCommandInput,
328+
options?: __HttpHandlerOptions
329+
): Promise<ListMediaPipelinesCommandOutput>;
330+
public listMediaPipelines(
331+
args: ListMediaPipelinesCommandInput,
332+
cb: (err: any, data?: ListMediaPipelinesCommandOutput) => void
333+
): void;
334+
public listMediaPipelines(
335+
args: ListMediaPipelinesCommandInput,
336+
options: __HttpHandlerOptions,
337+
cb: (err: any, data?: ListMediaPipelinesCommandOutput) => void
338+
): void;
339+
public listMediaPipelines(
340+
args: ListMediaPipelinesCommandInput,
341+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListMediaPipelinesCommandOutput) => void),
342+
cb?: (err: any, data?: ListMediaPipelinesCommandOutput) => void
343+
): Promise<ListMediaPipelinesCommandOutput> | void {
344+
const command = new ListMediaPipelinesCommand(args);
345+
if (typeof optionsOrCb === "function") {
346+
this.send(command, optionsOrCb);
347+
} else if (typeof cb === "function") {
348+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
349+
this.send(command, optionsOrCb || {}, cb);
350+
} else {
351+
return this.send(command, optionsOrCb);
352+
}
353+
}
354+
355+
/**
356+
* <p>Lists the tags available for a media pipeline.</p>
174357
*/
175358
public listTagsForResource(
176359
args: ListTagsForResourceCommandInput,
@@ -202,7 +385,7 @@ export class ChimeSDKMediaPipelines extends ChimeSDKMediaPipelinesClient {
202385
}
203386

204387
/**
205-
* <p>Applies the specified tags to the specified Amazon Chime SDK media capture pipeline.</p>
388+
* <p>The ARN of the media pipeline that you want to tag. Consists of he pipeline's endpoint region, resource ID, and pipeline ID.</p>
206389
*/
207390
public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise<TagResourceCommandOutput>;
208391
public tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void;
@@ -228,7 +411,7 @@ export class ChimeSDKMediaPipelines extends ChimeSDKMediaPipelinesClient {
228411
}
229412

230413
/**
231-
* <p>Removes the specified tags from the specified Amazon Chime SDK media capture pipeline.</p>
414+
* <p>Removes any tags from a media pipeline.</p>
232415
*/
233416
public untagResource(
234417
args: UntagResourceCommandInput,

clients/client-chime-sdk-media-pipelines/src/ChimeSDKMediaPipelinesClient.ts

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,18 +57,32 @@ import {
5757
CreateMediaCapturePipelineCommandInput,
5858
CreateMediaCapturePipelineCommandOutput,
5959
} from "./commands/CreateMediaCapturePipelineCommand";
60+
import {
61+
CreateMediaConcatenationPipelineCommandInput,
62+
CreateMediaConcatenationPipelineCommandOutput,
63+
} from "./commands/CreateMediaConcatenationPipelineCommand";
64+
import {
65+
CreateMediaLiveConnectorPipelineCommandInput,
66+
CreateMediaLiveConnectorPipelineCommandOutput,
67+
} from "./commands/CreateMediaLiveConnectorPipelineCommand";
6068
import {
6169
DeleteMediaCapturePipelineCommandInput,
6270
DeleteMediaCapturePipelineCommandOutput,
6371
} from "./commands/DeleteMediaCapturePipelineCommand";
72+
import {
73+
DeleteMediaPipelineCommandInput,
74+
DeleteMediaPipelineCommandOutput,
75+
} from "./commands/DeleteMediaPipelineCommand";
6476
import {
6577
GetMediaCapturePipelineCommandInput,
6678
GetMediaCapturePipelineCommandOutput,
6779
} from "./commands/GetMediaCapturePipelineCommand";
80+
import { GetMediaPipelineCommandInput, GetMediaPipelineCommandOutput } from "./commands/GetMediaPipelineCommand";
6881
import {
6982
ListMediaCapturePipelinesCommandInput,
7083
ListMediaCapturePipelinesCommandOutput,
7184
} from "./commands/ListMediaCapturePipelinesCommand";
85+
import { ListMediaPipelinesCommandInput, ListMediaPipelinesCommandOutput } from "./commands/ListMediaPipelinesCommand";
7286
import {
7387
ListTagsForResourceCommandInput,
7488
ListTagsForResourceCommandOutput,
@@ -79,18 +93,28 @@ import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
7993

8094
export type ServiceInputTypes =
8195
| CreateMediaCapturePipelineCommandInput
96+
| CreateMediaConcatenationPipelineCommandInput
97+
| CreateMediaLiveConnectorPipelineCommandInput
8298
| DeleteMediaCapturePipelineCommandInput
99+
| DeleteMediaPipelineCommandInput
83100
| GetMediaCapturePipelineCommandInput
101+
| GetMediaPipelineCommandInput
84102
| ListMediaCapturePipelinesCommandInput
103+
| ListMediaPipelinesCommandInput
85104
| ListTagsForResourceCommandInput
86105
| TagResourceCommandInput
87106
| UntagResourceCommandInput;
88107

89108
export type ServiceOutputTypes =
90109
| CreateMediaCapturePipelineCommandOutput
110+
| CreateMediaConcatenationPipelineCommandOutput
111+
| CreateMediaLiveConnectorPipelineCommandOutput
91112
| DeleteMediaCapturePipelineCommandOutput
113+
| DeleteMediaPipelineCommandOutput
92114
| GetMediaCapturePipelineCommandOutput
115+
| GetMediaPipelineCommandOutput
93116
| ListMediaCapturePipelinesCommandOutput
117+
| ListMediaPipelinesCommandOutput
94118
| ListTagsForResourceCommandOutput
95119
| TagResourceCommandOutput
96120
| UntagResourceCommandOutput;
@@ -249,10 +273,8 @@ type ChimeSDKMediaPipelinesClientResolvedConfigType = __SmithyResolvedConfigurat
249273
export interface ChimeSDKMediaPipelinesClientResolvedConfig extends ChimeSDKMediaPipelinesClientResolvedConfigType {}
250274

251275
/**
252-
* <p>The Amazon Chime SDK media pipeline APIs in this section allow software developers to create Amazon Chime SDK media pipelines
253-
* and capture audio, video, events, and data messages from Amazon Chime SDK meetings. For more information about media pipleines, see
254-
* <a href="https://docs.aws.amazon.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Media_Pipelines.html">Amzon Chime SDK media pipelines</a>.
255-
* </p>
276+
* <p>The Amazon Chime SDK media pipeline APIs in this section allow software developers to
277+
* create Amazon Chime SDK media pipelines that capture, concatenate, or stream your Amazon Chime SDK meetings. For more information about media pipleines, see <a href="http://amazonaws.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Media_Pipelines.html">Amazon Chime SDK media pipelines</a>. </p>
256278
*/
257279
export class ChimeSDKMediaPipelinesClient extends __Client<
258280
__HttpHandlerOptions,

clients/client-chime-sdk-media-pipelines/src/commands/CreateMediaCapturePipelineCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export interface CreateMediaCapturePipelineCommandInput extends CreateMediaCaptu
3232
export interface CreateMediaCapturePipelineCommandOutput extends CreateMediaCapturePipelineResponse, __MetadataBearer {}
3333

3434
/**
35-
* <p>Creates a media capture pipeline.</p>
35+
* <p>Creates a media pipeline.</p>
3636
* @example
3737
* Use a bare-bones client and the command you need to make an API call.
3838
* ```javascript

0 commit comments

Comments
 (0)