
# 配置录制回调
直播服务提供了录制文件生成状态回调设置，支持配置HTTP/HTTPS URL，向用户服务器发送POST请求、消息体JSON格式，将文件生成事件信息实时反馈到用户服务器。
#### 前提条件
- 已[添加推流域名](https://support.huaweicloud.com/iLive-live/live010002.html)。
- 已在域名DNS服务商处完成[CNAME解析配置](https://support.huaweicloud.com/iLive-live/live010010.html)。
 
#### 操作步骤
1. 登录[视频直播控制台](https://console.huaweicloud.com/live2/#/live/home)。
2. 在左侧导航栏中，选择"域名管理"，进入域名管理页面。
3. 在需要创建录制回调的推流域名行，单击"管理"。
4. 选择"录制配置（新版）"页签，单击"新建回调配置"，界面右侧弹出"添加回调配置"对话框。 
   设置回调地址，如[图1]所示，回调参数说明请参见[表1]。
   图1添加录制回调URL   
   ![](https://support.huaweicloud.com/iLive-live/zh-cn_image_0000001394104401.png)
    表1参数配置 
   | 参数   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   |:---|:---|
   | 协议   | 回调地址支持HTTP/HTTPS协议。HTTP可能存在安全风险，推荐使用HTTPS。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 回调地址 | 回调地址中不能携带消息头和参数，仅支持HTTP/HTTPS协议。推荐使用HTTPS协议。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 回调类型 | 回调消息的类型，包含如下分类： - 录制文件生成完成  - 录制开始  - 创建新的录制文件  - 录制结束  - 录制失败   各回调类型的详细说明请参见[表2]。 |
   | 回调鉴权 | 是否开启回调鉴权。如果开启，需要配置"鉴权方式"和"鉴权密钥"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 鉴权方式 | 回调消息中的加密内容会根据选择的不同鉴权方式而有所不同。MD5方式可能存在安全风险，推荐使用HMACSHA256方式。 - **MD5**方式：MD5(key + auth_timestamp)  - **HMACSHA256**方式：HMACSHA256(auth_timestamp + event_type + publish_domain + app + stream + download_url + play_url，key)                                                                                                                                                                                              |
   | 鉴权密钥 | 鉴权key值。支持自定义设置，由数字和字母组成，长度不能小于32位。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      
   
   
5. 单击"确定"，在回调列表中增加一条回调配置。
 
#### 修改/删除录制回调配置
录制回调配置完成后，还可以根据实际需要进行如下操作。
- 修改录制回调配置 录制回调配置完成后，若您需要修改部分参数，可以在录制模板回调配置列表中，单击操作列的"修改"，修改录制回调配置中的相关参数。
  
- 删除录制回调配置 录制回调配置完成后，若您需要删除录制回调配置，可以在录制回调配置列表中，单击操作列的"删除"，删除该录制回调配置。
  
 
#### 回调示例
录制文件生成事件回调示例如下。回调消息体字段如[表2]所示。
```
{
    "project_id": "70b76xxxxxx34253880af501cdxxxxxx",
    "job_id": "dc0a1773-0cef-xxxx-xxxx-9a38fdb095d2",
    "task_id": "51126d0ebe94b1da00d2e21a10xxxxxx",
    "event_type": "RECORD_FILE_COMPLETE",
    "publish_domain": "push.example.com",
    "app": "live",
    "stream": "mystream",
    "record_format": "HLS",
    "download_url": "https://obs.cn-north-4.myhuaweicloud.com/live/record-xxxx-mystream-1589967495/record-push.example.com-live-mystream-1589967495.m3u8",
    "asset_id": "1a0d8e9bfaexxxxxxbe5021e62aa1e96",
    "file_size": 3957964,
    "record_duration": 120,
    "start_time": "2020-03-08T14:10:25Z",
    "end_time": "2020-03-08T14:12:25Z",
    "width": 1280,
    "height": 720,
    "auth_sign": "4f97f46759axxxxxx7ad21e9935dc175",
    "auth_timestamp": 1583676745
}
```
 表2消息体字段说明 
| 字段              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|
| project_id      | 项目ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| job_id          | 用于标识同一个文件。当"event_type"为"RECORD_NEW_FILE_START"或"RECORD_FILE_COMPLETE"时，携带该字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| task_id         | 录制任务ID，用于唯一标识一个录制任务。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| event_type      | 消息类型。 取值如下： - RECORD_START：表示录制开始。若配置了录制模板和录制回调，则直播推流开始时，开始录制，触发该事件。  - RECORD_NEW_FILE_START：表示开始创建新的录制文件。以下情况会触发该事件： - 直播推流开始，开始创建第一个录制文件。  - 直播断流恢复后，若"最大断流合并时长"配置为"断流后生成新文件"，则开始创建新的录制文件。  - 当前录制时长超过了配置的录制周期，则开始新的录制文件生成。    - RECORD_FILE_COMPLETE：表示录制文件生成完成。以下情况会触发该事件： - 录制时长达到配置的录制周期，则当前录制文件生成完成，并开始新的录制生成。  - 直播断流后，若"最大断流合并时长"配置为"断流后生成新文件"，则当前录制文件生成完成，若断流恢复，将开始新的录制文件生成。    - RECORD_OVER：表示录制结束，直播断流时长超过了最大断流合并时长，当前录制任务结束，触发该事件。  - RECORD_FAILED：表示录制失败，当拉流失败、录制文件上传OBS失败等因素导致录制失败时，触发该事件。   |
| publish_domain  | 直播推流域名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| app             | 应用名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| stream          | 录制的流名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| record_format   | 录制格式，支持HLS、FLV和MP4格式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| download_url    | 录制文件的下载地址。当"event_type"为"RECORD_FILE_COMPLETE"时，携带该字段。 说明： 使用该下载地址用于视频播放无法保证播放效果。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| asset_id        | 若[配置直播录制](https://support.huaweicloud.com/iLive-live/live_01_0034.html#live_01_0034__section19658102215144)时，选择录制至VOD，则为视频点播服务的媒资ID，且用于标识一个录制文件。否则，仅用于标识一个录制文件。 当"event_type"为"RECORD_FILE_COMPLETE"时，携带该字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| file_size       | 文件大小。 单位：Byte。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| record_duration | 录制文件的时长。 单位：秒。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| start_time      | 录制文件的开始时间，即接收到第一帧数据的时间，格式为yyyy-mm-ddThh:mm:ssZ。 当"event_type"为"RECORD_FILE_COMPLETE"时，携带该字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| end_time        | 录制文件的结束时间，格式为yyyy-mm-ddThh:mm:ssZ。 当"event_type"为"RECORD_FILE_COMPLETE"时，携带该字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| width           | 录制文件分辨率的宽。 当"event_type"为"RECORD_FILE_COMPLETE"时，携带该字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| height          | 录制文件分辨率的高。 当"event_type"为"RECORD_FILE_COMPLETE"时，携带该字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| auth_sign       | 事件通知签名。当配置了"鉴权密钥"时，携带该字段。 - MD5方式：auth_sign=MD5(key + auth_timestamp)  - HMACSHA256方式：HMACSHA256(auth_timestamp + event_type + publish_domain + app + stream + download_url + play_url，key)   其中，key为鉴权密钥值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| auth_timestamp  | 事件通知签名过期UNIX时间戳。当配置了"鉴权密钥"时，携带该字段。 格式为十进制的UNIX时间戳，即从1970年1月1日（UTC/GMT的午夜）开始所经过的秒数。 若消息通知中的auth_timestamp值所指定的时间已经过期，则此消息通知无效，进而防止网络重放攻击。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| error_message   | 录制失败的描述信息。 当"event_type"为"RECORD_FAILED"时，携带该字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   
