
# 创建媒资：OBS转存方式 - PublishAssetFromObs
#### 功能介绍
若您在使用点播服务前，已经在OBS桶中存储了音视频文件，可以使用该接口将OBS桶中的音视频文件转存至点播服务，再使用点播服务音视频管理功能。
使用该接口前，需要提前完成下述操作：
- 参考VOD用户指南"创建用户并授权使用VOD"章节，授权用户使用VOD。
  
- 参考OBS用户指南"创建IAM用户并授权使用OBS"章节，授权用户使用OBS。
  
- 调用该接口前，您需要调用VOD[桶授权](https://support.huaweicloud.com/api-vod/vod_04_0199.html)接口，将存储音视频文件的OBS桶授权给点播服务使用。
  
 
#### 接口约束
由于不同区域的云服务不能互连，所以待转存的OBS桶和点播服务必须在同一区域，如"华北-北京四"OBS桶中的音视频只能转存到"华北-北京四"点播服务中。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/VOD/doc?api=PublishAssetFromObs)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-vod/vod_04_0012.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                      | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项                                                                                                                                                                                                            |
  |:---|:---|:---|:---|:---|:---|
  | vod:asset:publishFromObs | Write | -           | -   | -  | - obs:bucket:getBucketAcl  - obs:bucket:putBucketAcl   |
     
  
 
#### URI
POST /v1.0/{project_id}/asset/reproduction
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                             |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID，获取方法请参考[获取项目ID](https://support.huaweicloud.com/api-vod/vod_04_0211.html) |
   
#### 请求参数
表2请求Header参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                      |
|:---|:---|:---|:---|
| X-Auth-Token  | 否    | String | 用户Token，使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
| Authorization | 否    | String | 使用AK/SK方式认证时必选，携带的鉴权信息。                                                                                 |
| X-Sdk-Date    | 否    | String | 使用AK/SK方式认证时必选，请求的发生时间。                                                                                 |
   
表3请求Body参数 
| 参数                  | 是否必选 | 参数类型                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| video_type          | 是    | String                                                                | 转存的音视频文件类型。 取值如下： - 视频文件：MP4、TS、MOV、MXF、MPG、FLV、WMV、AVI、M4V、F4V、MPEG、3GP、ASF、MKV、HLS、RMVB、WEBM   - 音频文件：MP3、OGG、WAV、WMA、APE、FLAC、AAC、AC3、MMF、AMR、M4A、M4R、WV、MP2    若上传格式为音频文件，则不支持转码、添加水印和字幕。 说明： 当**video_type** 选择HLS时，**storage_mode**（存储模式）需选择存储在租户桶，且输出路径设置为和输入路径在同一个目录。 |
| title               | 是    | String                                                                | 媒资标题，长度不超过128个字节，UTF-8编码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| description         | 否    | String                                                                | 视频描述，长度不超过1024个字节。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| category_id         | 否    | Integer                                                               | 媒资分类ID。 您可以调用[创建媒资分类](https://support.huaweicloud.com/api-vod/vod_04_0028.html)接口或在点播控制台的分类设置中创建对应的媒资分类，并获取分类ID。 说明： 若不设置或者设置为-1，则上传的音视频归类到系统预置的"其它"分类中。                                                                                                                                                                                                                                                                                                                                                                                                                  |
| tags                | 否    | String                                                                | 视频标签。 单个标签不超过24个字节，最多不超过16个标签。 多个用逗号分隔，UTF8编码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| auto_publish        | 否    | Integer                                                               | 是否自动发布。 取值如下： - 0：表示不自动发布。   - 1：表示自动发布。    默认值：1。                                                                                                                                                                                                                                                           |
| template_group_name | 否    | String                                                                | 转码模板组名称。 若不为空，则使用指定的转码模板对上传的音视频进行转码，您可以在视频点播控制台配置转码模板，具体请参见《点播服务用户指南》中的"转码设置"。 说明： 若同时设置了"**template_group_name** "和"**workflow_name** "字段，则"**template_group_name**"字段生效。                                                                                                                                                                                                                                                                                                                                                                                                |
| auto_encrypt        | 否    | Integer                                                               | 是否自动加密。 取值如下： - 0：表示不加密。   - 1：表示需要加密。    默认值：0。 若设置为需要加密，则必须配置转码模板，且转码的输出格式是HLS。                                                                                                                                                                                             |
| auto_preheat        | 否    | Integer                                                               | 是否自动预热到CDN。 取值如下： - 0：表示不自动预热。   - 1：表示自动预热。    默认值：0。                                                                                                                                                                                                                                                       |
| thumbnail           | 否    | [Thumbnail] object                   | 截图参数。 须知：设置截图参数会产生相应的截图费用。为避免产生截图费用，可不设置此参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| review              | 否    | [Review] object                         | 媒资审核参数。 说明： 仅"华北-北京一"、"华北-北京四"点播服务支持此功能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| workflow_name       | 否    | String                                                                | 工作流名称。 若不为空，则使用指定的工作流对上传的音视频进行处理，您可以在视频点播控制台配置工作流，具体请参见《点播服务用户指南》中的"工作流设置"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| input               | 是    | [TransferAssetInput] object | 媒资存储参数信息。查询接口，仅媒资为托管时有返回值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| storage_mode        | 否    | Integer                                                               | 存储模式。 取值如下： - 0：表示视频拷贝到点播桶。   - 1：表示视频存储在租户桶。    默认值：0                                                                                                                                                                                                                                                       |
| output_bucket       | 否    | String                                                                | 输出桶名，"**storage_mode**"为1时必选。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| output_path         | 否    | String                                                                | 输出路径名，"**storage_mode**"为1时必选。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
 表4Thumbnail 
| 参数             | 是否必选 | 参数类型              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| type           | 是    | String            | 截图类型。 取值如下： - time：每次进行截图的间隔时间。   - dots: 按照指定的时间点截图。   - quantity： 按照指定张数，根据视频时长等分视频截图。    |
| quantity       | 否    | Integer           | **type**取值为quantity时必填。 按照指定张数，根据视频时长等分视频截图。 取值范围：\[1,10\]之间的整数。                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| quantity_time  | 否    | Integer           | **type**取值为quantity时选填。 按照指定时间间隔取指定张数截图。 取值范围：\[0,2147483647\]之间的整数。                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| time           | 否    | Integer           | 根据时间间隔采样时的时间间隔值。单位：秒。 **type**取值为time时。 默认值：12 取值范围：\[0,100\]之间的整数。                                                                                                                                                                                                                                                                                                                                                                      |
| dots           | 否    | Array of integers | **type**取值为dots时必填。指定时间截图时的时间点数组。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| cover_position | 否    | Integer           | 该值表示指定第几张截图作为封面。 默认值：1。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| format         | 否    | Integer           | 截图文件格式。 取值如下： - 1：jpg。    默认值：1 。                                                                                                                                                                                                                                                                                         |
| aspect_ratio   | 否    | Integer           | 纵横比，图像缩放方式。 取值如下： - 0：自适应（保持原有宽高比）。   - 1：16:9。    默认值：0。                                                                                                                                                  |
| max_length     | 否    | Integer           | 截图最长边的尺寸。 单位：像素。 宽边尺寸按照该尺寸与原始视频像素等比缩放计算。 默认值：480。                                                                                                                                                                                                                                                                                                                                                                                        |
   
 表5Review 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                               |
|:---|:---|:---|:---|
| template_id | 否    | String  | 审核模板ID。您可以在视频点播控制台配置审核模板后获取，具体请参见《点播服务用户指南》中的"审核设置"。 说明： 仅"华北-北京一"、"华北-北京四"点播服务支持此功能。                       |
| interval    | 否    | Integer | 截图检测时间间隔，取值范围为(0,100\]，该参数在请求参数中忽略。                                                                                                              |
| politics    | 否    | Integer | 鉴政内容检测置信度，取值范围为-1或者\[0,100\]，该参数在请求参数中忽略。 置信度越高，说明审核结果越可信。未开启或设置为0时，表示未进行此项检测。politics、terrorism、porn三个参数不能同时为0。  |
| terrorism   | 否    | Integer | 鉴恐内容的检测置信度，取值范围为-1或者\[0,100\]，该参数在请求参数中忽略。 置信度越高，说明审核结果越可信。未开启或设置为0时，表示未进行此项检测。politics、terrorism、porn三个参数不能同时为0。 |
| porn        | 否    | Integer | 鉴黄内容的检测置信度，取值范围为-1或者\[0,100\]，该参数在请求参数中忽略。 置信度越高，说明审核结果越可信。未开启或设置为0时，表示未进行此项检测。politics、terrorism、porn三个参数不能同时为0。 |
   
 表6TransferAssetInput 
| 参数       | 是否必选 | 参数类型   | 描述                                                           |
|:---|:---|:---|:---|
| bucket   | 是    | String | OBS的bucket名称。                                                |
| location | 是    | String | 桶所在的区域名， 如"华北-北京四"的区域名为"cn-north-4"，创建的桶所在区域必须和点播服务所在区域保持一致。 |
| object   | 是    | String | 文件的存储路径。                                                     |
   
#### 响应参数
**状态码：200**
表7响应Body参数 
| 参数       | 参数类型   | 描述                      |
|:---|:---|:---|
| asset_id | String | VOD分配的媒资ID，仅支持查询，不支持修改。 |
   
**状态码：400**
表8响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误描述。 |
   
#### 请求示例
- 转存存储在OBS桶中的HLS视频至点播服务中（ts文件需和m3u8文件在同一目录下）
  ```
  POST https://{endpoint}/v1.0/{project_id}/asset/reproduction
  Content-Type: application/json
  {
    "video_type": "HLS",
    "title": "tittle",
    "auto_publish": 1,
    "input": {
      "bucket": "bucket_name",
      "location": "cn-north-4",
      "object": "test/hls/test_video.m3u8"
    },
    "storage_mode": 1,
    "output_bucket": "bucket_name",
    "output_path": "test/hls"
  }
  ```
  
- 转存存储在OBS桶中的音视频文件至点播服务中
  ```
  POST https://{endpoint}/v1.0/{project_id}/asset/reproduction
  Content-Type: application/json
  {
    "input": {
      "bucket": "bucket",
      "location": "cn-north-4",
      "object": "path"
    },
    "title": "title",
    "description": "des",
    "category_id": -1,
    "tags": "test",
    "video_type": "MP4",
    "auto_publish": 1,
    "template_group_name": "tempName"
  }
  ```
  
 
#### 响应示例
**状态码：200**
处理成功返回。
```
{
  "asset_id" : "f488337c31c8e4622f1590735b134c65"
}
```
**状态码：400**
处理失败返回。
```
{
  "error_code" : "VOD.10003",
  "error_msg" : "The specified key does not exist."
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 200 | 处理成功返回。 |
| 400 | 处理失败返回。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-vod/ErrorCode.html)。
