文档首页/ 视频点播 VOD/ API参考/ 媒资上传/ 创建媒资:上传方式
更新时间:2024-12-12 GMT+08:00

创建媒资:上传方式

功能介绍

调用该接口创建媒资时,需要将对应的媒资文件上传到点播服务的OBS桶中。若上传的单媒资文件大小小于20M,则可以直接用PUT方法对该接口返回的地址进行上传。具体使用方法请参考示例1:媒资上传(20M以下)。若上传的单个媒资大小大于20M,则需要进行二进制流分割后上传,该接口的具体使用方法请参考示例2:媒资分段上传(20M以上)

URI

POST /v1.0/{project_id}/asset

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方法请参考获取项目ID

请求参数

表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参数

参数

是否必选

参数类型

描述

title

String

媒资标题,长度不超过128个字节,UTF-8编码。

description

String

视频描述,长度不超过1024个字节。

video_name

String

音视频文件名,长度不超过128个字节。

文件名后缀可选。

video_type

String

上传音视频文件的格式。

取值如下:

  • 视频文件:MP4、TS、MOV、MXF、MPG、FLV、WMV、AVI、M4V、F4V、MPEG、3GP、ASF、MKV、WEBM

  • 音频文件:MP3、OGG、WAV、WMA、APE、FLAC、AAC、AC3、MMF、AMR、M4A、M4R、WV、MP2

若上传格式为音频文件,则不支持转码、添加水印和字幕。

category_id

Integer

媒资分类ID。

您可以调用创建媒资分类接口或在点播控制台的分类设置中创建对应的媒资分类,并获取分类ID。

说明:

若不设置或者设置为-1,则上传的音视频归类到系统预置的“其它”分类中。

video_md5

String

建议参考《API参考》附录下生成MD5值的媒资上传和更新示例。

cover_type

String

封面图片文件类型。

取值如下:

  • JPG

  • PNG

上传后的封面名称是固定的,后缀名为封面类型缩写。例如cover0.jpg,cover1.png

若不指定类型,则封面文件无后缀名。

说明:

如果设置了图片格式,则不会执行首帧截图作为封面动作,需自行上传封面。

cover_md5

String

封面图片文件MD5值。建议参考《API参考》附录下生成MD5值的媒资上传和更新示例。

subtitles

Array of Subtitle objects

字幕文件信息

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

String

是否自动预热到CDN。

取值如下:

  • 0:表示不自动预热。

  • 1:表示自动预热。

默认值:0。

thumbnail

Thumbnail object

截图参数

review

Review object

媒资审核参数。

说明:

仅“亚太-新加坡”点播服务支持此功能。

workflow_name

String

工作流名称。若不为空,则使用指定的工作流对上传的音视频进行处理,您可以在视频点播控制台配置工作流,具体请参见《点播服务用户指南》中的“工作流设置”。

表4 Subtitle

参数

是否必选

参数类型

描述

id

Integer

字幕id。

取值范围:[1,16]。

type

String

字幕文件类型,目前暂只支持“SRT”和“VTT”。

language

String

字幕语言类型。

name

String

字幕文件名称。

md5

String

字幕文件的MD5值。

description

String

字幕描述。

表5 Thumbnail

参数

是否必选

参数类型

描述

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。

表6 Review

参数

是否必选

参数类型

描述

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。

响应参数

状态码: 200

表7 响应Body参数

参数

参数类型

描述

asset_id

String

媒体ID

video_upload_url

String

视频上传URL

cover_upload_url

String

封面上传地址

subtitle_upload_urls

Array of strings

字幕文件上传url数组

target

File_addr object

媒资存储参数信息。

表8 File_addr

参数

参数类型

描述

bucket

String

OBS的bucket名称。

location

String

桶所在的区域名, 如“华北-北京四”的区域名为“cn-north-4”,创建的桶所在区域必须和点播服务所在区域保持一致。

object

String

文件的存储路径。

状态码: 403

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

请求示例

创建媒资

POST https://{endpoint}/v1/{project_id}/asset

Content-Type: application/json
{
  "title": "Avatar test test",
  "description": "Avatar, test",
  "category_id": -1,
  "tags": "mytags",
  "video_name": "Avatar_480P.mp4",
  "video_type": "MP4",
  "video_md5": "a945d4b3d8fc317190a9332fe856f03d",
  "cover_type": "JPG",
  "cover_md5": "a655d4b3d8fc758691a9332fe387f26c",
  "auto_publish": 0,
  "subtitles": [
    {
      "id": 1,
      "language": "CN",
      "type": "SRT",
      "md5": "SqcyFjJZoDZaP8oKIY6rgQ==",
      "description": "AAAAA"
    }
  ]
}

响应示例

状态码: 200

处理成功返回。

{
  "asset_id" : "f488337c31c8e4622f1590735b134c65",
  "video_upload_url" : "https://obs.cn-north-4.myhuaweicloud.com:443/obs-vod-1/%7Bproject_id%7D/f488337c31c8e4622f1590735b134c65/Avatar_480P.mp4?AWSAccessKeyId=CBN2J**********0RCSN&Expires=1518147618&Signature=kZYh0hEos2V**********AHGyXA%3D",
  "cover_upload_url" : "https://obs.cn-north-4.myhuaweicloud.com:443/obs-vod-1/%7Bproject_id%7D/f488337c31c8e4622f1590735b134c65/cover/Cover0.jpg?AWSAccessKeyId=CBN2J**********0RCSN&Expires=1518147619&Signature=kZYh0hEos2V**********AHGyXA%3D",
  "subtitle_upload_urls" : [ "https://obs-vod-1.obs.cn-north-4.myhuaweicloud.com:443/14ce1d4437164aba8b364ce15866154e/53a018d2dc53ca07eb5a07a839205c9d/subtitle/1.srt?AWSAccessKeyId=CBN2J**********0RCSN&Expires=1534760131&Signature=kZYh0hEos2V**********AHGyXA%3D" ],
  "target" : {
    "bucket" : "obs-vod-1",
    "location" : "cn-north-4",
    "object" : "093bb6b6c4fc460ab90a40d8b821dda3/a2053aef99725711dad3e02dc6cd5f89/0a9b70035b78b8a19c6d9e7c2693d93c.mp4"
  }
}

状态码: 403

处理失败返回。

{
  "error_code" : "VOD.10064",
  "error_msg" : "Media asset classification does not exist, please check."
}

状态码

状态码

描述

200

处理成功返回。

403

处理失败返回。

错误码

请参见错误码