
# 启动单流任务 - CreateIndividualStreamJob
#### 功能介绍
调用此接口接口启动单流任务。
API触发单流录制流名规则：{jobtype}_{jobid}_{roomid}_{userid}
jobtype取值为's'代表单流录制。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CloudRTC/doc?api=CreateIndividualStreamJob)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-rtc/rtc_07_0022.html)。
#### URI
POST /v2/apps/{app_id}/individual-stream-jobs
表1路径参数 
| 参数     | 是否必选 | 参数类型   | 描述   |
|:---|:---|:---|:---|
| app_id | 是    | String | 应用id |
   
#### 请求参数
表2请求Header参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                      |
|:---|:---|:---|:---|
| Content-Type  | 是    | String | 内容类型。取值application/json。                                                |
| X-Auth-Token  | 否    | String | 用户Token。使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
| Authorization | 否    | String | 使用AK/SK方式认证时必选，携带的鉴权信息。                                                 |
| X-Sdk-Date    | 否    | String | 使用AK/SK方式认证时必选，请求的发生时间。                                                 |
| X-Project-Id  | 否    | String | 使用AK/SK方式认证时必选，携带项目ID信息。                                                |
   
表3请求Body参数 
| 参数                 | 是否必选 | 参数类型                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| room_id            | 是    | String                                                                | 房间id                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| user_id            | 是    | String                                                                | 选看的用户id，单个录制任务内保证唯一                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| is_record_audio    | 否    | Boolean                                                               | 是否录制音频。 - true：录制音频   - false：不录制音频    缺省为true。                                                                                                                                                                                                                                                                                                                       |
| video_type         | 否    | String                                                                | 标识视频流的类型，可选摄像头流或者屏幕分享流，未填写表示不录制视频。 - CAMERASTREAM：摄像头视频流   - SCREENSTREAM：屏幕分享视频流    默认为CAMERASTREAM。                                                                                                                                                                                                                                                                 |
| select_stream_type | 否    | String                                                                | 指定窗口拉取的分辨率档位。 - LD   - SD   - HD   - FHD    缺省为FHD。 |
| max_idle_time      | 否    | Integer                                                               | 最长空闲频道时间。 取值范围：\[5，43200\]，默认值为30。 单位：秒。 如果频道内无连麦方的状态持续超过该时间，录制程序会自动退出。退出后，再次调用start请求，会产生新的录制任务。 连麦方指：joiner或者publisher的用户。                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| record_param       | 否    | [RecordParam] object | 录制参数                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
 表4RecordParam 
| 参数             | 是否必选 | 参数类型   | 描述      |
|:---|:---|:---|:---|
| record_rule_id | 是    | String | 录制规则id。 |
   
#### 响应参数
**状态码：201**
表5响应Header参数 
| 参数           | 参数类型   | 描述                 |
|:---|:---|:---|
| X-request-Id | String | 此字段携带请求ID号，以便任务跟踪。 |
   
表6响应Body参数 
| 参数                 | 参数类型                                                                   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| job_id             | String                                                                 | 任务编号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| stream_name        | String                                                                 | 流名                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| app_id             | String                                                                 | 应用id                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| room_id            | String                                                                 | 房间id                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| user_id            | String                                                                 | 选看的用户id，单个录制任务内保证唯一                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| is_record_audio    | Boolean                                                                | 是否录制音频。 - true：录制音频   - false：不录制音频    缺省为true。                                                                                                                                                                                                                                                                                                                       |
| video_type         | String                                                                 | 标识视频流的类型，可选摄像头流或者屏幕分享流，未填写表示不录制视频。 - CAMERASTREAM：摄像头视频流   - SCREENSTREAM：屏幕分享视频流    默认为CAMERASTREAM。                                                                                                                                                                                                                                                                 |
| select_stream_type | String                                                                 | 指定窗口拉取的分辨率档位。 - LD   - SD   - HD   - FHD    缺省为FHD。 |
| max_idle_time      | Integer                                                                | 最长空闲频道时间。 取值范围：\[5，43200\]，默认值为30。 单位：秒。 如果频道内无连麦方的状态持续超过该时间，录制程序会自动退出。退出后，再次调用start请求，会产生新的录制任务。 连麦方指：joiner或者publisher的用户。                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| record_param       | [RecordParam] object | 录制参数                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| create_time        | String                                                                 | 创建时间，形如"2006-01-02T15:04:05.075Z"，时区为：UTC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| update_time        | String                                                                 | 更新时间，形如"2006-01-02T15:04:05.075Z"，时区为：UTC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| state              | String                                                                 | 任务状态。 - INIT：任务正在初始化   - RUNNING：任务正在运行   - STOPPED：任务已停止                                                                                                                                                    |
| stop_reason        | String                                                                 | 任务结束原因 - TENANT_STOP   - EXCEED_MAX_IDLE_TIME   - INTERNAL_ERROR                                                                                                                                             |
| description        | String                                                                 | 针对任务状态的详细信息描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| start_time         | String                                                                 | 任务开始时间，形如"2006-01-02T15:04:05.075Z"，时区为：UTC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| stop_time          | String                                                                 | 任务完成时间，形如"2006-01-02T15:04:05.075Z"，时区为：UTC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表7RecordParam 
| 参数             | 参数类型   | 描述      |
|:---|:---|:---|
| record_rule_id | String | 录制规则id。 |
   
**状态码：400**
表8响应Header参数 
| 参数           | 参数类型   | 描述                 |
|:---|:---|:---|
| X-request-Id | String | 此字段携带请求ID号，以便任务跟踪。 |
   
表9响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：404**
表10响应Header参数 
| 参数           | 参数类型   | 描述                 |
|:---|:---|:---|
| X-request-Id | String | 此字段携带请求ID号，以便任务跟踪。 |
   
表11响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：500**
表12响应Header参数 
| 参数           | 参数类型   | 描述                 |
|:---|:---|:---|
| X-request-Id | String | 此字段携带请求ID号，以便任务跟踪。 |
   
表13响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
#### 请求示例
创建一个单流录制任务。房间号：100，录制用户：user001，开启音频录制，视频流类型：摄像头视频流，窗口拉取的分辨率：FHD，最长空闲频道时间：30秒，录制规则id指定为：5f5e172b9016ed5b0961a43
```
POST https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/individual-stream-jobs
{
  "room_id" : 100,
  "user_id" : "user001",
  "is_record_audio" : true,
  "video_type" : "CAMERASTREAM",
  "select_stream_type" : "FHD",
  "max_idle_time" : 30,
  "record_param" : {
    "record_rule_id" : "5f5e172b9016ed5b0961a43"
  }
}
```
#### 响应示例
**状态码：201**
任务创建成功，返回job的概要信息，如包含job_id
```
{
  "job_id" : 1,
  "app_id" : 1,
  "room_id" : 100,
  "user_id" : "user001",
  "is_record_audio" : true,
  "video_type" : "CAMERASTREAM",
  "select_stream_type" : "FHD",
  "max_idle_time" : 30,
  "record_param" : {
    "record_rule_id" : "5f5e172b9016ed5b0961a43"
  },
  "create_time" : "2006-01-02T15:04:05.075Z",
  "start_time" : "2006-01-02T15:04:05.075Z"
}
```
**状态码：400**
创建单流任务失败，语义有误，当前请求无法被服务器理解，或参数有误
```
{
  "error_code" : "RTC.00001003",
  "error_msg" : "InvalidParameterValue"
}
```
**状态码：404**
创建单流任务失败，应用不存在
```
{
  "error_code" : "RTC.00001003",
  "error_msg" : "InvalidParameterValue"
}
```
**状态码：500**
创建单流任务失败，服务器错误
```
{
  "error_code" : "RTC.00002xxx",
  "error_msg" : "InternalError"
}
```
#### 状态码
| 状态码 | 描述                               |
|:---|:---|
| 201 | 任务创建成功，返回job的概要信息，如包含job_id      |
| 400 | 创建单流任务失败，语义有误，当前请求无法被服务器理解，或参数有误 |
| 404 | 创建单流任务失败，应用不存在                   |
| 500 | 创建单流任务失败，服务器错误                   |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-rtc/ErrorCode.html)。
