• 沒有找到結果。

● 已明确需要创建转码模板所在的区域信息,并获取该区域的Endpoint,您可以从 地区和终端节点获取。

总体流程

● 获取用户Token

● 创建转码模板

涉及 API

当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加

“X-Auth-Token”到业务接口请求消息头中。

操作步骤

步骤1 获取用户Token,用于MPC接口时进行认证鉴权。

在“我的凭证”页面获取

username

password

domainname

projectname

,调 用如下接口获取Token。详细信息请参见3.1 构造请求。

POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json

{ "auth": {

步骤2 选择POST请求方法并输入URI。

https://{endpoint}/v1/{project_id}/template/transcodings

“mpc.cn-north-4.myhuaweicloud.com”为媒体处理服务的终端节点,您可以在区域 和终端节点中获取。

说明

调用IAM接口的区域需与调用媒体处理接口的区域一致,如调用“cn-north-4”区域的IAM接口 获取用户Token,则该Token仅能用于调用“cn-north-4”区域媒体处理接口的鉴权。

步骤3 在请求消息头中增加“X-Auth-Token”,值设置为步骤步骤1中获取的用户Token。

步骤4 在请求消息体中传入如下所示的参数。

{ "template_name":"MP4_H.264_1920x1080_6000_HEAAC", "video":{

"codec":1,

API 参考 4 应用示例

"bitrate":6000,

请求响应成功后,返回转码模板ID,状态码为201 Created。

{ "template_id":1001 }

若请求失败,返回如下所示的错误码及错误描述。

{ "error_code": "MPC.100101",

"error_msg": "template error, it's name MP4_H.264_1920x1080_6000_HEAAC is same with template 274764。"

● 已明确需要创建转码任务所在的区域信息,并获取该区域的Endpoint,您可以从 地区和终端节点获取。

● 待转码处理的视频文件已经存储在OBS桶中,您可以调用OBS 上传对象API上 传。

● 已创建用于存储转码生成的文件的OBS桶,您可以调用OBS 创建桶API进行创 建。

步骤1 获取用户Token,用于MPC接口时进行认证鉴权。

在“我的凭证”页面获取

username

password

domainname

projectname

,调 用如下接口获取Token。详细信息请参见3.1 构造请求。

POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json

{ "auth": {

4-2 获取用户 Token

步骤2 创建视频转码模板,获取转码模板ID,具体API调用方法请参见4.1 示例1:新建转码 模板。

步骤3 创建水印模板。

1. 选择POST请求方法并输入URI。

https://{endpoint}/v1/{project_id}/template/watermark

2. 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。

3. Request Body中传入参数如下:

{ "template_name": "watermark_1920*1080_10*10_ BottomLeft", "type": "Image",

"image_process": "Grayed", "width": "1920",

"height": "1080", "dx": "10", "dy": "10",

"referpos": "BottomLeft", "timeline_start": "6", "timeline_duration": "8"

}

4. 请求响应成功后,返回水印模板ID。

{ "template_id":242 }

步骤4 提交视频转码任务。

1. 选择POST请求方法并输入URI。

https://{endpoint}/v1/{project_id}/transcodings

2. 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。

3. Request Body中传入参数如下:

{"input": {

"bucket": "example-bucket", "location": "region01",

"object": "/mpc/input/sample.MP4"

},"output": {

"bucket": "example-bucket", "location": "region01", "object": "/mpc/output/"

},

"trans_template_id":[1002],

"watermarks": [{

"input": {

"bucket": "example-bucket", "location": "region01", "object": "meipai.jpg"

},

"template_id":242 }],"priority":"9",

"audit":{

"position":2, "index":2 }}

4. 请求响应成功后,返回转码任务ID。

{ "task_id":100211 }

步骤5 查询视频转码执行情况。

1. 选择GET请求方法并输入URI。

https://{endpoint}/v1/{project_id}/transcodings?task_id=100211

2. 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。

3. 请求响应成功后,返回视频转码的详细信息。

● 已明确需要创建截图任务所在的区域信息,并获取该区域的Endpoint,您可以从 地区和终端节点获取。

● 待截图处理的视频文件已经存储在OBS桶中,您可以调用OBS 上传对象API上 传。

● 已创建用于存储截图文件的OBS桶,您可以调用OBS 创建桶API进行创建。

总体流程

● 获取用户Token

API 参考 4 应用示例

● 创建截图任务

● 查询视频截图执行情况

操作步骤

步骤1 获取用户Token,用于MPC接口时进行认证鉴权。

在“我的凭证”页面获取

username

password

domainname

projectname

,调 用如下接口获取Token。详细信息请参见3.1 构造请求。

POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json

{ "auth": {

1. 选择POST请求方法并输入URI。

https://{endpoint}/v1/{project_id}/thumbnails

2. 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。

3. Request Body中传入参数如下:

{"input": {

"bucket": "example-bucket", "location": "region01",

"object": "/mpc/input/sample.MP4"

},"output": {

"bucket": "example-bucket", "location": "region01", "object": "/mpc/output/ "},

"tar": 1,

"thumbnail_para": { "type":"DOTS", "dots":[2,4,6,8,10], "format":0, "aspect_ratio":1, "max_length":480 }

}

4. 请求响应成功后,返回截图任务ID。

{ "task_id": "2081"

}

步骤3 查询视频截图执行情况。

1. 选择GET请求方法并输入URI。

https://{endpoint}/v1/{project_id}/thumbnails?task_id=2081

2. 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。

3. 请求响应成功后,返回视频截图的详情信息。

----结束

API 参考 4 应用示例

5 自定义转码模板接口

5.1 新建转码模板 5.2 更新转码模板 5.3 删除转码模板 5.4 查询转码模板

5.1 新建转码模板

功能介绍

新建转码模板,采用自定义的模板转码。

调试

您可以在API Explorer中调试该接口。

URI

POST /v1/{project_id}/template/transcodings 表5-1 路径参数

参数 是否必选 参数类型 描述

project_id 是 String 项目ID,获取方法请参考获取项 目ID

请求参数

5-2 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 否 String 用户Token。

通过调用IAM服务获取用户 Token接口获取(响应消息头中 X-Subject-Token的值)。

Authorization 否 String 使用AK/SK方式认证时必选,携 带的鉴权信息。

X-Project_Id 否 String 使用AK/SK方式认证时必选,携 带项目ID信息, 与路径参数中的 项目ID相同。

X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请 求的发生时间。

5-3 请求 Body 参数

参数 是否必选 参数类型 描述

template_na

me 是 String 转码模板名称。

video 否 Video object 视频参数 audio 否 Audio object 音频参数

common 是 Common

object 公共参数

API 参考 5 自定义转码模板接口

5-4 Video

参数 是否必选 参数类型 描述

output_policy 否 String 输出策略。

取值如下:

● discard

● transcode 说明

● 当视频参数中的

“output_policy”为

"discard",且音频参数中的

“output_policy”为

“transcode”时,表示只输出 音频。

● 当视频参数中的

“output_policy”为

"transcode",且音频参数中的

“output_policy”为

“discard”时,表示只输出视 频。

● 同时为"discard"时不合法。

● 同时为“transcode”时,表示 输出音视频。

codec 否 Integer 视频编码格式。

取值如下:

● 1:表示H.264。

● 2:表示H.265。

bitrate 否 Integer 输出平均码率。

取值范围:0或[40,30000]之间 的整数。

单位:kbit/s

若设置为0,则输出平均码率为 自适应值。

参数 是否必选 参数类型 描述

profile 否 Integer 编码档次,建议设为3。

取值如下:

● 1:VIDEO_PROFILE_H264_BAS E

● 2:VIDEO_PROFILE_H264_MAI N

● 3:VIDEO_PROFILE_H264_HIG H

● 4:VIDEO_PROFILE_H265_MAI N

level 否 Integer 编码级别。

取值如下:

● 1:VIDEO_LEVEL_1_0

● 2:VIDEO_LEVEL_1_1

● 3:VIDEO_LEVEL_1_2

● 4:VIDEO_LEVEL_1_3

● 5:VIDEO_LEVEL_2_0

● 6:VIDEO_LEVEL_2_1

● 7:VIDEO_LEVEL_2_2

● 8:VIDEO_LEVEL_3_0

● 9:VIDEO_LEVEL_3_1

● 10:VIDEO_LEVEL_3_2

● 11:VIDEO_LEVEL_4_0

● 12:VIDEO_LEVEL_4_1

● 13:VIDEO_LEVEL_4_2

● 14:VIDEO_LEVEL_5_0

● 15:VIDEO_LEVEL_5_1

API 参考 5 自定义转码模板接口

参数 是否必选 参数类型 描述

preset 否 Integer 编码质量等级。

取值如下:

● 1:VIDEO_PRESET_HSPEED2

● 2:VIDEO_PRESET_HSPEED

● 3:VIDEO_PRESET_NORMAL

说明

● H264:[1,8]

● H265:固定值4 单位:帧。

max_iframes_i

nterval 否 Integer I帧最大间隔

取值范围:[2,10]。

● H264:[0,7],默认值为 4。

● H265:[0,7],默认值为 7。

单位:帧。

frame_rate 否 Integer 帧率。

取值范围:0或[5,60]之间的整

参数 是否必选 参数类型 描述

width 否 Integer 视频宽度。

取值范围:

● H.264:0或[32,4096]间2的 倍数。

● H.265:0或[160,4096]间4的 倍数。

单位:像素。

说明:若视频宽度设置为0,则 视频宽度值自适应。

height 否 Integer 视频高度。

● H.264:0或[32,2880]且必须 为2的倍数。

● H.265:0或[96,2880]且必须 为4的倍数。

单位:像素。

说明:若视频高度设置为0,则 视频高度值自适应。

black_cut 否 Integer 黑边剪裁类型。

取值如下:

● 0:不开启黑边剪裁。

● 1:开启黑边剪裁,低复杂度 算法,针对长视频(>5分 钟)。

● 2:开启黑边剪裁,高复杂度 算法,针对短视频(<=5分 钟)。

API 参考 5 自定义转码模板接口

5-5 Audio

参数 是否必选 参数类型 描述

output_policy 否 String 输出策略。

取值如下:

● discard

● transcode 说明

● 同时为"discard"时不合法。

● 同时为“transcode”时,表示 输出音视频。

codec 是 Integer 音频编码格式。

取值如下:

● 1:AAC格式。

● 2:HEAAC1格式 。

● 3:HEAAC2格式。

● 4:MP3格式 。 sample_rate 是 Integer 音频采样率。

取值如下:

● 1:AUDIO_SAMPLE_AUTO

● 2:AUDIO_SAMPLE_22050

(22050Hz)

● 3:AUDIO_SAMPLE_32000

(32000Hz)

● 4:AUDIO_SAMPLE_44100

(44100Hz)

● 5:AUDIO_SAMPLE_48000

(48000Hz)

● 6:AUDIO_SAMPLE_96000

(96000Hz)

参数 是否必选 参数类型 描述

bitrate 否 Integer 音频码率。

取值范围:0或[8,1000]。

单位:kbit/s。

channels 是 Integer 声道数。

取值如下:

● 1:AUDIO_CHANNELS_1

● 2:AUDIO_CHANNELS_2

● 6:AUDIO_CHANNELS_5_1

5-6 Common

hls_interval 是 Integer HLS分片间隔,仅封装类型

“pack_type”取值为1或3时,

该参数生效。

取值范围:[2,10]。

单位:秒。

dash_interval 是 Integer DASH间隔,仅封装类型

“pack_type”取值为2或3时,

该参数生效。

取值范围:[2,10]。

单位:秒。

pack_type 是 Integer 封装类型。

取值如下:

● 1:HLS

● 2:DASH

● 3:HLS+DASH

● 4:MP4

● 5:MP3

● 6:ADTS

说明pack_type设置为5和6时,不能设 置视频参数。

API 参考 5 自定义转码模板接口

响应参数

状态码: 201

5-7 响应 Body 参数

参数 参数类型 描述

template_id Integer 自定义转码模板编号。

状态码: 403

5-8 响应 Body 参数

参数 参数类型 描述

error_code String 错误码。

error_msg String 错误描述。

请求示例

POST https://{endpoint}/v1/{project_id}/template/transcodings { "template_name":"MP4_H.264_1920x1080_6000_HEAAC", "video":{

"codec":1, "bitrate":6000, "profile":3, "level":15, "preset":3,

"ref_frames_count":4, "max_iframes_interval":5, "bframes_count":4, "frame_rate":1, "width":1920, "height":1080, "aspect_ratio":0 }, "audio":{

"codec":1, "sample_rate":4, "bitrate":128, "channels":2 }, "common":{

"PVC":0, "hls_interval":5, "dash_interval":5, "pack_type":1 }}

响应示例

状态码: 201 新建转码模板成功。

{ "template_id" : 2000211 }

状态码: 403 新建转码模板失败。

{ "error_code" : "MPC.10202",

"error_msg" : "Invalid request parameter."

}

状态码

状态码 描述

201 新建转码模板成功。

403 新建转码模板失败。

错误码

请参见错误码。

5.2 更新转码模板

功能介绍

更新转码模板。

调试

您可以在API Explorer中调试该接口。

URI

PUT /v1/{project_id}/template/transcodings 表5-9 路径参数

参数 是否必选 参数类型 描述

project_id 是 String 项目ID,获取方法请参考获取项 目ID

API 参考 5 自定义转码模板接口

请求参数

5-10 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 否 String 用户Token。

通过调用IAM服务获取用户 Token接口获取(响应消息头中 X-Subject-Token的值)。

Authorization 否 String 使用AK/SK方式认证时必选,携 带的鉴权信息。

X-Project_Id 否 String 使用AK/SK方式认证时必选,携 带项目ID信息, 与路径参数中的 项目ID相同。

X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请 求的发生时间。

5-11 请求 Body 参数

参数 是否必选 参数类型 描述

template_id 是 Long 转码模板ID template_na

me 是 String 转码模板名称。

video 否 Video object 视频信息 audio 否 Audio object 音频信息

common 是 Common

object 通用信息

5-12 Video

参数 是否必选 参数类型 描述

output_policy 否 String 输出策略。

取值如下:

● discard

● transcode 说明

● 当视频参数中的

“output_policy”为

"discard",且音频参数中的

“output_policy”为

“transcode”时,表示只输出 音频。

● 当视频参数中的

“output_policy”为

"transcode",且音频参数中的

“output_policy”为

“discard”时,表示只输出视 频。

● 同时为"discard"时不合法。

● 同时为“transcode”时,表示 输出音视频。

codec 否 Integer 视频编码格式。

取值如下:

● 1:表示H.264。

● 2:表示H.265。

bitrate 否 Integer 输出平均码率。

取值范围:0或[40,30000]之间 的整数。

单位:kbit/s

若设置为0,则输出平均码率为 自适应值。

API 参考 5 自定义转码模板接口

参数 是否必选 参数类型 描述

profile 否 Integer 编码档次,建议设为3。

取值如下:

● 1:VIDEO_PROFILE_H264_BAS E

● 2:VIDEO_PROFILE_H264_MAI N

● 3:VIDEO_PROFILE_H264_HIG H

● 4:VIDEO_PROFILE_H265_MAI N

level 否 Integer 编码级别。

取值如下:

● 1:VIDEO_LEVEL_1_0

● 2:VIDEO_LEVEL_1_1

● 3:VIDEO_LEVEL_1_2

● 4:VIDEO_LEVEL_1_3

● 5:VIDEO_LEVEL_2_0

● 6:VIDEO_LEVEL_2_1

● 7:VIDEO_LEVEL_2_2

● 8:VIDEO_LEVEL_3_0

● 9:VIDEO_LEVEL_3_1

● 10:VIDEO_LEVEL_3_2

● 11:VIDEO_LEVEL_4_0

● 12:VIDEO_LEVEL_4_1

● 13:VIDEO_LEVEL_4_2

● 14:VIDEO_LEVEL_5_0

● 15:VIDEO_LEVEL_5_1

参数 是否必选 参数类型 描述

preset 否 Integer 编码质量等级。

preset 否 Integer 编码质量等级。