# 配置智能云会议 (/zh-CN/realtime-media/meeting/build/configure-meeting)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

在声网控制台中[开通智能云会议](/zh-CN/realtime-media/meeting/build/enable-service)后，你可以参考本文在控制台中进一步配置智能云会议的高频使用功能：

- 互动白板。
- 云端录制。
- 环信即时通讯 IM。

## 配置互动白板 [#配置互动白板]

### 前提条件 [#前提条件]

互动白板功能使用第三方云存储服务储存会议中上传的文件。因此，使用互动白板功能前，请确保你已开通第三方云存储服务，并设置声网可访问该云存储空间。操作步骤如下：

1. 参考云存储官方文档开通服务。声网当前支持如下第三方云存储服务，你可以任选一种：

    - [阿里云 OSS](https://www.aliyun.com/product/oss)
    - [Amazon S3](https://aws.amazon.com/cn/s3/?nc2=h_m1)
    - [华为云 OSS](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)
    - [腾讯云 OSS](https://cloud.tencent.com/document/product/436/44352)

2. 如果你使用阿里云 OSS 或 Amazon S3，那么在你使用的云存储账号中进行如下配置，以确保声网可以访问你的云存储空间：

<Accordions type="multiple">
<Accordion title="阿里云 OSS 配置">

- 读写权限设为**公共读**：

  <DocsImage alt="阿里云 OSS 读写权限配置示意图" src="https://web-cdn.agora.io/docs-files/1620299427757" displayWidth="90%" />

- 跨域规则配置：

  - 来源和允许 Headers 根据你的实际情况配置即可。
  - 暴露 Headers 必须严格参照下图填写。

  <DocsImage alt="阿里云 OSS 跨域规则配置示意图" src="https://web-cdn.agora.io/docs-files/1620299441544" displayWidth="70%" />

- 在你的阿里云存储账号中增加 **oss:PutObject** 授权操作，否则上传文件会报 403 错误。设置方法可参考如下截图，更多信息详见[阿里云文档 Bucket Policy](https://help.aliyun.com/document_detail/430203.html)。

  ![阿里云 OSS PutObject 授权配置示意图](https://web-cdn.agora.io/docs-files/1680084220648)
</Accordion>
</Accordions>


<Accordions type="multiple">
<Accordion title="Amazon S3 配置">

- Bucket policy：

    ```json
    {
      "Version": "2012-10-17",
      "Id": "Policy1622700880591",
      "Statement": [
        {
          "Sid": "Stmt1622700872941",
          "Effect": "Allow",
          "Principal": "*",
          "Action": "s3:GetObject",
          "Resource": "arn:aws-cn:s3:::agora-adc-artifacts/*"
        }
      ]
    }
    ```

- Cross-origin resource sharing：

    ```json
    [
      {
        "AllowedHeaders": [
          "*"
        ],
        "AllowedMethods": [
          "PUT",
          "GET"
        ],
        "AllowedOrigins": [
          "*"
        ],
        "ExposeHeaders": []
      }
    ]
    ```

</Accordion>
</Accordions>


### 操作步骤 [#操作步骤]

1. 在声网控制台的**灵动会议配置**页面，找到**白板**模块：

<DocsImage alt="灵动会议白板配置页面" src="https://web-cdn.agora.io/docs-files/1673418335384" displayWidth="90%" />

2. 在白板模块中，填写你使用的第三方云存储相关参数，用于储存会议中上传的文件：

    | 参数        | 描述                                                                 |
    |-------------|----------------------------------------------------------------------|
    | `vendor`    | 选择你使用的云存储服务。|
    | `region`    | 你的云存储服务中创建 Bucket 时指定的数据中心所在区域。例如：`oss-cn-shanghai`。 |
    | `endpoint`  | 你的云存储服务的访问域名。例如：`oss-cn-shanghai.aliyuncs.com`。                 |
    | `bucket`    | 你的云存储服务中的 Bucket 名称。例如：`agora-whiteboard`。               |
    | `folder`    | 你的云存储服务中的资源存放路径。例如：`whiteboard`。                     |
    | `accessKey` | 你的云存储服务提供的访问密钥中的 Access Key，用于识别访问者的身份。     |
    | `secretKey` | 你的云存储服务提供的访问密钥中的 Secret Key，用于验证签名的密钥。       |

    以上参数均为字符串类型，获取方式可参考你使用的[云存储服务官方文档](#前提条件)。

3. （可选）如果你需要在会议里使用 PPT、DOC、PDF 等格式的文件，你还需要开启并配置互动白板中的进阶功能：文档转网页、文档转图片、截图。点击**进阶服务**下方的**前往配置**，参考[开启互动白板配套服务](/zh-CN/realtime-media/whiteboard/fastboard-sdk/build/setup-and-access/enable-service#开启互动白板配套服务)操作。

## 配置云端录制 [#配置云端录制]

在智能云会议中，默认录制会议中主持人的发言。具体的录制配置如下：

| 配置项      | 默认行为                              | 是否支持自定义      |
| ----------- | ---------------------------------------------------------------- | --------------------- |
| 录制模式| 使用[合流录制模式](/zh-CN/realtime-media/cloud-recording/build/recording-modes/mix-mode/set-composite)。  | 不支持自定义。      |
| 录制配置    | 只录制会议中主持人的音视频。                                                             | 是，可按需修改。      |
| 存储配置    | 录制文件会存储在声网使用的阿里云 OSS 账号中。 | 是，且必须修改，否则录制文件无法存储到你的 OSS 账号中。    |

如需修改默认录制配置，可以在声网控制台的**灵动会议配置**页面找到**云端录制**模块。点击**自定义**，并填写 JSON 代码来修改[录制配置](#录制配置)和[存储配置](#存储配置)。

<DocsImage alt="灵动会议云端录制配置入口示意图" src="https://web-cdn.agora.io/docs-portal/img/meeting/console-recording.png" displayWidth="90%" />

### 录制配置 [#录制配置]

录制配置的 JSON 代码为云端录制 API 中的 `recordingConfig` 对象。你可以参考[云端录制 API](/zh-CN/api-reference/api-ref/cloud-recording/start) 中 `recordingConfig` 描述。

#### 录制配置 JSON 填写示例 [#录制配置-json-填写示例]

```json
{
  "maxIdleTime": 30,
  "streamTypes": 2,
  "channelType": 0
}
```

### 存储配置 [#存储配置]

存储配置的 JSON 代码为云端录制 API 中的 `storageConfig` 对象。你可以参考[云端录制 API](/zh-CN/api-reference/api-ref/cloud-recording/start) 中 `storageConfig` 描述。

#### 存储配置 JSON 填写示例 [#存储配置-json-填写示例]

```json
{
  "vendor": 2,
  "region": 3,
  "bucket": "{your_bucket}",
  "accessKey": "{your_access_key}",
  "secretKey": "{your_secret_key}",
  "endpoint": "https://agora-recording.oss-cn-shanghai.aliyuncs.com",
  "fileNamePrefix": [
    "scenario",
    "recording"
  ]
}
```

`storageConfig` 对象中重要字段说明：

| 字段 | 类型 | 描述 | 备注 |
| --- | --- | --- | --- |
| `endpoint` | 必填 String | 由 Bucket 名称和访问域名拼成的完整路径。 例如，Bucket 名称为 `agora-recording`，OSS 访问域名为 `oss-cn-shanghai.aliyuncs.com`，则 `endpoint` 字段应设为 `https://agora-recording.oss-cn-shanghai.aliyuncs.com`。 | [configure-meeting-html-0-1-3 details](#table-slot-configure-meeting-html-0-1-3) |
| `fileNamePrefix` | 选填 String 数组 | [configure-meeting-html-0-2-2 details](#table-slot-configure-meeting-html-0-2-2) | 你可使用变量来指定一个动态路径。你发起录制时，智能云会议云服务会用真实的值替换变量。详见[如何指定动态存储路径](/zh-CN/reference/faq/integration/dynamic_storage_path)。 |

<a id="table-slot-configure-meeting-html-0-1-3"></a>

**configure-meeting-html-0-1-3 details**

- 该字段会应用在[查询录制列表](/zh-CN/api-reference/meeting/restful/api/query-recording)返回的 `url` 字段里的地址域名。
- 如果你的 OSS 配置了 CDN 加速，也可以直接将 `endpoint` 设置为 CDN 加速域名，最终录制页面的 URL 为 `https://agora-adc-artifacts.oss-accelerate.aliyuncs.com/xxxxx.mp4`。

<a id="table-slot-configure-meeting-html-0-2-2"></a>

**configure-meeting-html-0-2-2 details**

录制文件在第三方云存储中的存储位置，与录制文件名前缀有关。

如果设为 `["directory1","directory2"]`，那么录制文件名前缀为 `"directory1/directory2/"`，即录制文件名为 `directory1/directory2/xxx.m3u8`。

前缀长度（包括斜杠）不得超过 128 个字符。字符串中不得出现斜杠、下划线、括号等符号字符。以下为支持的字符集范围：

- 26 个小写英文字母 a-z
- 26 个大写英文字母 A-Z
- 10 个数字 0-9

## 配置环信 IM [#配置环信-im]

智能云会议集成了实时消息 RTM SDK 和即时通讯环信 IM SDK 来实现信令和实时消息功能。RTM 无需你手动配置，IM 需要你自行配置。IM 配置步骤如下：

1. 注册[环信即时通讯云](https://console.easemob.com/user/register)。

2. 在环信开发者管理后台创建应用，详见[创建应用](https://doc.easemob.com/product/console/app_create.html)。

    :::info[信息]
    环信开发者管理后台中，应用的服务类型默认为**免费社区版**，只能创建 100 个用户，仅用于体验与集成目的。若有生产环境需求，需[联系销售](https://www.shengwang.cn/contact-sales/)开通**企业版**。
    :::

3. 在环信开发者管理后台获取如下参数信息：

    | 参数        | 描述        |
    |------------|---------------------------------------|
    | `apiHost`   | 环信 REST API 访问地址。例如 `a1.easemob.com` 或 `a1.easecdn.com`。|
    | `orgName`   | 企业的唯一标识，你在环信开发者管理后台注册账号时填写的企业 ID。                 |
    | `appName`   | 企业下 App 的唯一标识，你在环信开发者管理后台创建应用时填写的应用名称。           |
    | `superAdmin`| 超级管理员用户名前缀。   |
    | `appKey`    | App 的唯一标识，由环信开发者管理后台基于 `${org_name}#${app_name}` 的规则生成。          |
    | `clientId`  | 开发者 Client ID，由环信开发者管理后台生成。                          |
    | `clientSecret`| 开发者密钥，由环信开发者管理后台生成。   |

    :::warning[注意]
    `superAdmin`（超级管理员用户名前缀）只支持数字或字母，不支持特殊字符，智能云会议将以 `${superAdmin}-${timestamp}` 作为超级管理员创建 IM 房间。
    :::

![环信 IM 参数位置示意图](https://web-cdn.agora.io/docs-portal/img/meeting/console-im-1.png)

![环信 IM 参数获取示意图](https://web-cdn.agora.io/docs-portal/img/meeting/console-im-2.png)

4. 将上一步获取的 IM 参数信息填写到声网控制台**灵动会议配置**页面的**环信 IM** 模块中。

![灵动会议环信 IM 配置示意图](https://web-cdn.agora.io/docs-portal/img/meeting/console-im-list.png)
