# @aws-cdk/aws-ivs-alpha 中文文档

规范地址：https://npmcn.com/package/%40aws-cdk/aws-ivs-alpha/

版本：2\.275\.0-alpha\.0
npm 元数据更新时间：2026-10-26T19:17:41.963Z
中文译文更新时间：2026-11-07T17:55:04.331Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aws-cdk/aws-ivs-alpha
原文对照：https://npmcn.com/package/%40aws-cdk/aws-ivs-alpha/?lang=original
项目主页：https://github.com/aws/aws-cdk
源码仓库：https://github.com/aws/aws-cdk

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：527 kB，28 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>= 20\.0\.0
- 运行依赖：0 个
- peer 依赖：constructs ^10\.5\.0，aws-cdk-lib ^2\.275\.0
- 首次发布：2021-10-13T18:38:23.514Z
- 最新版本发布：2026-10-26T19:17:40.472Z
- 近 30 天下载量：3404（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：380（近 12 个月 64 个）

## 中文简介

AWS::IVS 的 CDK 构造库

## 安装

```sh
npm install @aws-cdk/aws-ivs-alpha
```

也可以使用：`pnpm add @aws-cdk/aws-ivs-alpha`、`yarn add @aws-cdk/aws-ivs-alpha`、`bun add @aws-cdk/aws-ivs-alpha`

## README

# AWS::IVS 构造库

* * *

![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)

> 本单元中更高层次的构件的API是实验性的并正在积极开发中. 在今后任何版本中,它们都须作非背向相容的修改或去除。 这些是 不适用 [语义版本](https://semver.org/) 模型和断开的更改 在发行笔记中宣布. 这意味着虽然你可能使用它们,但可能需要更新 当更新到此软件包的更新版本时,您的源代码.

* * *

Amazon Interactive Video Service(亚马逊语:Amazon IVS)是一款有管理的直播流媒体 快速和易于设定的解决方案,以及创建互动 视频体验. 使用流媒体软件将活流发送到 Amazon IVS 服务会做所有你需要做的 低频视频 可供全世界任何观众使用,让你专注于建筑 互动体验与现场视频. 你可以轻松地定制和 通过亚马逊 IVS 播放器 SDK 和定时增强观众体验 元数据 APIs,允许您与您建立更有价值的关系 自己网站和应用程序上的观众.

这个模块是 [AWS 云开发套件](https://github.com/aws/aws-cdk) 项目.

## 频道

Amazon IVS 频道存储与您的直播相关的配置信息 流线。 您先创建一个频道,然后使用该频道提供视频 频道启动活流的流键 .

您可以创建频道

```ts
const myChannel = new ivs.Channel(this, 'Channel');
```

您可以通过设置高级频道类型 `type` 属性改为 `ivs.ChannelType.ADVANCED_HD` 或者说 `ivs.ChannelType.ADVANCED_SD`。 。 。 .

此外,当使用高级频道类型时,可以设置 页:1 `preset` 属性改为 `ivs.Preset.CONSTRAINED_BANDWIDTH_DELIVERY` 或者说 `ivs.Preset.HIGHER_BANDWIDTH_DELIVERY`。 。 。 .

更多信息见 [亚马逊 IVS 流配置](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/streaming-config.html)。 。 。 .

```ts
const myChannel = new ivs.Channel(this, 'myChannel', {
  type: ivs.ChannelType.ADVANCED_HD,
  preset: ivs.Preset.CONSTRAINED_BANDWIDTH_DELIVERY,
});
```

如果您想要使用 RTMP 摄入, 请设定 `insecureIngest` 属性改为 `true`。 。 。 . 默认, `insecureIngest` 实值 `false` 这意味着使用 RTMPS 摄入.

**注释:** RTMP摄入可能会降低你流的安全性. AWS 推荐您使用 RTMPS 来摄取, 除非您有特定且经过验证的用例 。 更多信息见 [编码器设置](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/streaming-config.html#streaming-config-settings)。 。 。 .

```ts
const myRtmpChannel = new ivs.Channel(this, 'myRtmpChannel', {
  type: ivs.ChannelType.STANDARD,
  insecureIngest: true, // default value is false
});
```

### 多轨道视频

多轨视频是一种由亚马逊互动视频服务(IVS)和使用亚马逊IVS的服务所支持的新的低纬度流媒体模式.

您可以通过设置多轨道视频 `multitrackInputConfiguration` 属性. 多轨视频既需要一个"标准"频道,又需要"分块"Mp4.

更多信息见 [亚马逊 IVS 多轨道视频](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/multitrack-video.html)。 。 。 .

```ts
new ivs.Channel(this, 'ChannelWithMultitrackVideo', {
  type: ivs.ChannelType.STANDARD,
  containerFormat: ivs.ContainerFormat.FRAGMENTED_MP4,
  multitrackInputConfiguration: {
    maximumResolution: ivs.MaximumResolution.HD,
    policy: ivs.Policy.ALLOW,
  },
});
```

### 导入已有频道

例如,如果需要创建一个 现有频道的流键

```ts
const myChannel = ivs.Channel.fromChannelArn(this, 'Channel', myChannelArn);
```

## 流键

流键被广播编码器用于启动流并识别 到亚马逊IVS 客户和频道的溪流。 如果你是的话 存储此值,应视同密码.

您可以为给定频道创建流密钥

```ts
const myStreamKey = myChannel.addStreamKey('StreamKey');
```

## 私人频道

Amazon IVS提供了创建私人频道的能力,允许 您可以通过频道或查看器限制您的溪流。 您控制访问 通过允许在频道上播放播放授权来播放视频 生成已签名的 JSON Web Tokens (JWTs) 用于授权的回放请求.

回放符号是您所签名的 JWT (带有回放授权密钥) ,并在每一次播放中包含对有播放功能的频道的请求 授权已启用 .

为了让Amazon IVS 验证此符号, 您需要上传 用于签名的私人密钥.

```ts
const keyPair = new ivs.PlaybackKeyPair(this, 'PlaybackKeyPair', {
  publicKeyMaterial: myPublicKeyPemString,
});
```

然后在创建频道时指定授权属性

```ts
const myChannel = new ivs.Channel(this, 'Channel', {
  authorized: true, // default value is false
});
```

## 记录配置

亚马逊 IVS 记录配置存储设置,指定频道的活流应如何记录. 您可以配置视频质量,缩略图生成,以及存储在亚马逊S3的录音的地方.

有关IVS记录的更多信息,请参见: [IVS 自动记录到 Amazon S3 → 低密度流](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/record-to-s3.html)。 。 。 .

您可以创建录音配置 :

```ts
// create an S3 bucket for storing recordings
const recordingBucket = new s3.Bucket(this, 'RecordingBucket');

// create a basic recording configuration
const recordingConfiguration = new ivs.RecordingConfiguration(this, 'RecordingConfiguration', {
  bucket: recordingBucket,
});
```

### 记录的发端

当将内容流到一个亚马逊IVS频道时,自动录制到s3使用源视频生成多段递解.

更多信息见 [发现记录的发作](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/record-to-s3.html#r2s3-recording-renditions)。 。 。 .

```ts
declare const recordingBucket: s3.Bucket;

const recordingConfiguration= new ivs.RecordingConfiguration(this, 'RecordingConfiguration', {
  bucket: recordingBucket,

  // set rendition configuration
  renditionConfiguration: ivs.RenditionConfiguration.custom([ivs.Resolution.HD, ivs.Resolution.SD]),
});
```

### 缩略图生成

您可以启用或禁用动态会话的缩略图记录,并修改动态会话生成缩略图的间隔 .

缩略图间隔可能从1秒到60秒;默认情况下,缩略图录制启用,间隔为60秒.

更多信息见 [缩略图](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/record-to-s3.html#r2s3-thumbnails)。 。 。 .

```ts
declare const recordingBucket: s3.Bucket;

const recordingConfiguration = new ivs.RecordingConfiguration(this, 'RecordingConfiguration', {
  bucket: recordingBucket,

  // set thumbnail settings
  thumbnailConfiguration: ivs.ThumbnailConfiguration.interval(ivs.Resolution.HD, [ivs.Storage.LATEST, ivs.Storage.SEQUENTIAL], Duration.seconds(30)),
});
```

### 将碎流合并

这个 `recordingReconnectWindow` 属性允许您指定一个时间窗口(以秒计),在此期间,如果您的流被中断并开始一个新的流,亚马逊IVS会尝试录入与上个流相同的S3前缀.

换句话说,如果广播断开,然后在指定的间隔内重新连接,多条流被视作单一广播并合并.

更多信息见 [将碎流合并](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/record-to-s3.html#r2s3-merge-fragmented-streams)。 。 。 .

```ts
declare const recordingBucket: s3.Bucket;

const recordingConfiguration= new ivs.RecordingConfiguration(this, 'RecordingConfiguration', {
  bucket: recordingBucket,

  // set recording reconnect window
  recordingReconnectWindow: Duration.seconds(60),
});
```

### 将记录配置附加到频道

要启用频道的录音, 请在创建频道时指定录制配置 :

```ts
declare const recordingConfiguration: ivs.RecordingConfiguration;

const channel = new ivs.Channel(this, 'Channel', {
  // set recording configuration
  recordingConfiguration: recordingConfiguration,
});
```

## 常见问题

### @aws-cdk/aws-ivs-alpha 是什么？

AWS::IVS 的 CDK 构造库

### 如何安装 @aws-cdk/aws-ivs-alpha？

在项目目录运行 npm install @aws-cdk/aws-ivs-alpha，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：constructs（^10\.5\.0）、aws-cdk-lib（^2\.275\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @aws-cdk/aws-ivs-alpha 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @aws-cdk/aws-ivs-alpha 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @aws-cdk/aws-ivs-alpha 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>= 20\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @aws-cdk/aws-ivs-alpha 可以商用吗？

@aws-cdk/aws-ivs-alpha 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @aws-cdk/aws-ivs-alpha 的下载量有多少？

根据 npm 官方下载统计，@aws-cdk/aws-ivs-alpha 在 2026/10/08 – 2026/11/06 这 30 天内被下载 3,404 次，日均约 113 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @aws-cdk/aws-ivs-alpha 还在维护吗？

最新版本 2\.275\.0-alpha\.0 发布于 2026/10/27（12 天前）；至今共发布 380 个版本，其中过去 12 个月发布了 64 个；首次发布于 2021/10/14。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

