新建转码任务
功能介绍
新建转码任务可以将视频进行转码,并在转码过程中压制水印、视频截图等。视频转码前需要配置转码模板。 待转码的音视频需要存储在与媒体处理服务同区域的OBS桶中,且该OBS桶已授权。
调试
您可以在API Explorer中调试该接口。
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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方式认证时必选,请求的发生时间。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
input |
否 |
ObsObjInfo object |
源文件存储地址,非追加音频等场景,该参数必选。 |
output |
是 |
ObsObjInfo object |
输出文件存储地址。 |
trans_template_id |
否 |
Array of integers |
转码模板ID,没带av_parameter参数时,必须带该参数,数组,每一路转码输出对应一个转码配置模板ID,最多支持9个模板ID。 多个转码模板中如下参数可变,其他都必须一致:
|
av_parameters |
否 |
Array of AvParameters objects |
转码参数。 若同时设置“trans_template_id”和此参数,则优先使用此参数进行转码,不带trans_template_id时,该参数必选。 |
output_filenames |
否 |
Array of strings |
输出文件名称,每一路转码输出对应一个名称,需要与转码模板ID数组的顺序对应。
|
user_data |
否 |
String |
用户自定义数据,该字段可在查询接口或消息通知中按原内容透传给用户。 |
watermarks |
否 |
Array of WatermarkRequest objects |
图片水印参数,数组,最多支持20个成员。 |
thumbnail |
否 |
Thumbnail object |
截图信息。 说明:
仅“trans_template_id”对应的转码模板或“av_parameters”中设置的输出分辨率为1920×1080、1280×720、854×480或480×270时,视频转码才会输出对应的截图文件;否则将不输出截图文件。 |
priority |
否 |
Integer |
任务优先级,取值如下:
暂时只支持6和9。 |
subtitle |
否 |
Subtitle object |
字幕参数。 |
encryption |
否 |
Encryption object |
视频加密控制参数。 |
crop |
否 |
Crop object |
截取前多少秒做转码。 |
audio_track |
否 |
AudioTrack object |
音轨参数。 |
multi_audio |
否 |
MultiAudio object |
音频多语言多声道参数。 |
video_process |
否 |
VideoProcess object |
视频处理控制参数 |
audio_process |
否 |
AudioProcess object |
音频处理控制参数 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
video |
否 |
VideoParameters object |
视频参数 |
audio |
否 |
Audio object |
音频参数 |
common |
是 |
Common object |
公共参数 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
output_policy |
否 |
String |
输出策略。 取值如下:
说明:
|
codec |
否 |
Integer |
视频编码格式。 取值如下:
|
bitrate |
否 |
Integer |
输出平均码率。 取值范围:0或[40,30000]之间的整数。 单位:kbit/s 若设置为0,则输出平均码率为自适应值。 |
profile |
否 |
Integer |
编码档次 取值如下:
|
level |
否 |
Integer |
编码级别 取值如下:
|
preset |
否 |
Integer |
编码质量等级 取值如下:
|
ref_frames_count |
否 |
Integer |
最大参考帧数。 取值范围:
单位:帧。 |
max_iframes_interval |
否 |
Integer |
I帧最大间隔 取值范围:[2,10]。 默认值:5。 单位:秒。 |
bframes_count |
否 |
Integer |
最大B帧间隔。 取值范围:
单位:帧。 |
frame_rate |
否 |
Integer |
帧率。 取值范围:0或[5,60],0表示自适应。 单位:帧每秒。 说明:
若设置的帧率不在取值范围内,则自动调整为0,若设置的帧率高于片源帧率,则自动调整为片源帧率。 |
width |
否 |
Integer |
视频宽度(单位:像素)
|
height |
否 |
Integer |
视频高度(单位:像素)
|
aspect_ratio |
否 |
Integer |
纵横比(保留,图像缩放方式)
|
black_cut |
否 |
Integer |
黑边剪裁类型
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
output_policy |
否 |
String |
输出策略。 取值如下:
说明:
|
codec |
是 |
Integer |
音频编码格式。 取值如下:
|
sample_rate |
是 |
Integer |
音频采样率。 取值如下:
|
bitrate |
否 |
Integer |
音频码率。 取值范围:0或[8,1000]。 单位:kbit/s。 |
channels |
是 |
Integer |
声道数。 取值如下:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
PVC |
是 |
Boolean |
是否开启高清低码功能。 取值如下:
|
hls_interval |
是 |
Integer |
HLS分片间隔,仅封装类型“pack_type”取值为1或3时,该参数生效。 取值范围:[2,10]。 单位:秒。 |
dash_interval |
是 |
Integer |
DASH间隔,仅封装类型“pack_type”取值为2或3时,该参数生效。 取值范围:[2,10]。 单位:秒。 |
pack_type |
是 |
Integer |
封装类型。 取值如下:
说明:
pack_type设置为5和6时,不能设置视频参数。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
input |
否 |
ObsObjInfo object |
源文件地址,如果是图片水印,则该参数必选。 |
template_id |
否 |
String |
水印模板。可通过新建水印模板接口创建水印模板。 |
text_context |
否 |
String |
文字水印内容,内容需做Base64编码,若类型为文字水印 (type字段为Text),则此配置项不能为空 示例:若想添加文字水印“测试文字水印”,那么Content的值为:5rWL6K+V5paH5a2X5rC05Y2w |
image_watermark |
否 |
ImageWatermark object |
图片水印参数,用于覆盖图片水印模板中的同名参数。 |
text_watermark |
否 |
TextWatermark object |
文字水印配置,若设置“text_context”,则此配置项不能为空。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
dx |
否 |
String |
水印图片起点相对输出视频顶点的水平偏移量。 设置方法有如下两种:
示例:输出视频分辨率宽1920,设置“dx”为“0.1”,“referpos”为“TopRight”(右上角),则水印图片右上角到视频右顶点在水平方向上偏移距离为192。 |
dy |
否 |
String |
水印图片起点相对输出视频顶点的垂直偏移量。
示例:输出视频分辨率高1080,设置“dy”为“0.1”,“referpos”为“TopRight”(右上角),则水印图片右上角到视频右顶点在垂直方向上的偏移距离为108。 |
referpos |
否 |
String |
水印的位置。 取值如下:
|
timeline_start |
否 |
String |
水印开始时间,与“timeline_duration”配合使用。 取值范围:数字。 单位:秒。 |
timeline_duration |
否 |
String |
水印持续时间,与“timeline_start”配合使用。 取值范围:[数字,ToEND]。“ToEND”表示持续到视频结束。 默认值:ToEND。 |
image_process |
否 |
String |
图片水印处理方式,type设置为Image时有效。 取值如下:
|
width |
否 |
String |
水印图片宽,值有两种形式:
|
height |
否 |
String |
水印图片高,值有两种形式:
|
base |
否 |
String |
水印叠加母体 取值如下:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
dx |
否 |
String |
水印图片起点相对输出视频顶点的水平偏移量。 设置方法有如下两种:
示例:输出视频分辨率宽1920,设置“dx”为“0.1”,“referpos”为“TopRight”(右上角),则水印图片右上角到视频右顶点在水平方向上偏移距离为192。 |
dy |
否 |
String |
水印图片起点相对输出视频顶点的垂直偏移量。
示例:输出视频分辨率高1080,设置“dy”为“0.1”,“referpos”为“TopRight”(右上角),则水印图片右上角到视频右顶点在垂直方向上的偏移距离为108。 |
referpos |
否 |
String |
水印的位置。 取值如下:
|
timeline_start |
否 |
String |
水印开始时间,与“timeline_duration”配合使用。 取值范围:数字。 单位:秒。 |
timeline_duration |
否 |
String |
水印持续时间,与“timeline_start”配合使用。 取值范围:[数字,ToEND]。“ToEND”表示持续到视频结束。 默认值:ToEND。 |
font_name |
否 |
String |
字体,当前支持fzyouh、msyh |
font_size |
否 |
Integer |
字体大小。 取值范围:[4, 120] |
font_color |
否 |
String |
字体颜色。 目前颜色支持 black,blue,white,green,red,yellow,brown,gold,pink,orange,purple。 |
base |
否 |
String |
水印叠加母体 取值如下:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
tar |
否 |
Integer |
是否压缩抽帧图片生成tar包
|
out |
否 |
ObsObjInfo object |
截图输出路径,不填写时与转码输出在一起 |
params |
是 |
ThumbnailPara object |
截图参数。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
否 |
String |
采样类型。 取值如下:
|
percent |
否 |
Integer |
根据视频时长百分比间隔采样时的百分比值。 |
time |
否 |
Integer |
采样截图的时间间隔值。 默认值:12。 单位:秒 |
start_time |
否 |
Integer |
采样类型为“TIME”模式的开始时间,和“time”配合使用。 默认值:0。 单位:秒。 |
duration |
否 |
Integer |
采样类型为“TIME”模式的持续时间,和“time”、“start_time”配合使用,表示从视频文件的第“start_time”开始,持续时间为“duration”,每间隔“time”生成一张截图。 取值范围:[数字,ToEND]。“ToEND”表示持续到视频结束。 默认值: ToEND。 单位:秒。 说明:
“duration”必须大于等0,若设置为0,则截图持续时间从“start_time”到视频结束。 |
dots |
否 |
Array of integers |
指定时间截图时的时间点数组,最多支持10个。 |
output_filename |
否 |
String |
截图输出文件名。
|
format |
否 |
Integer |
截图文件格式。 取值如下: 1:表示jpg格式 |
aspect_ratio |
否 |
Integer |
纵横比。 |
width |
否 |
Integer |
图片宽度 取值范围:(96,3840] 单位:px |
height |
否 |
Integer |
图片高度 取值范围:(96,2160] 单位:px |
max_length |
否 |
Integer |
截图最长边的尺寸。宽边尺寸按照该尺寸与原始视频像素等比缩放计算。 取值范围:[240,3840] 默认值:480 单位:像素 说明:
该参数和width/height选择使用,以width/height优先,若width/height都不等于0,则图片尺寸按width/height得出;反之,则图片尺寸按 max_length 得出。 若该参数和width/height都未选择,则取max_length默认为480 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
input |
否 |
ObsObjInfo object |
字幕文件地址。 |
inputs |
否 |
Array of MulInputFileInfo objects |
多字幕文件地址。 |
subtitle_type |
否 |
Integer |
字幕类型 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
是 |
String |
内容加密秘钥 |
url |
是 |
String |
秘钥获取服务的地址 |
iv |
否 |
String |
初始向量,base64binary,随机数 |
algorithm |
否 |
String |
加密算法。
默认值:AES-128-CTR |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
否 |
Integer |
音轨选取方式。
|
left |
否 |
Integer |
选取左声道所在的音轨编号。 |
right |
否 |
Integer |
选取右声道所在的音轨编号。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
tracks_info |
否 |
Array of TracksInfo objects |
音轨信息 |
audio_files |
否 |
Array of AudioFile objects |
音频文件 |
default_language |
否 |
String |
默认语言 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
tracks_info |
否 |
Array of TracksInfo objects |
音轨信息 |
input |
否 |
ObsObjInfo object |
输入存储位置 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
bucket |
是 |
String |
OBS的bucket名称。 |
location |
是 |
String |
OBS桶所在的区域,且必须与使用的MPC区域保持一致。 |
object |
是 |
String |
OBS对象路径,遵守OSS Object定义。
|
file_name |
否 |
String |
文件名,仅用于转封装指定输出名称。
|
响应参数
状态码: 202
参数 |
参数类型 |
描述 |
---|---|---|
task_id |
Integer |
任务ID。 如果返回值为200 OK,为接受任务后产生的任务ID。 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误描述。 |
请求示例
POST https://{endpoint}/v1/{project_id}/transcodings { "input": { "bucket": "example-bucket", "location": "region1", "object": "/VOD/input/sample.MP4" }, "output": { "bucket": "example-bucket", "location": "region1", "object": "/VOD/output/" }, "trans_template_id": [1002, 1003, 1004, 1005], "priority": "9", "subtitle": { "subtitle_type": 1, "input": { "bucket": "bucket", "location": "region1", "object": "subtitle.srt" } }, "encryption": { "multidrm": { "content_id": "123456789", "streaming_mode": "HLS ", "encrypt_audio": 0, "emi": 16420, "drm_list": ["PLAYREADY"] } }, "thumbnail": { "out": { "bucket": "example-bucket", "location": "region1", "object": "/VOD/output/" }, "tar": 1, "params": { "time": 2, "format": 1, "aspect_ratio": 1, "max_length": 480 } } }
响应示例
状态码: 202
新建转码任务提交成功。
{ "task_id" : 100211 }
状态码: 403
新建转码任务提交失败。
{ "error_code" : "MPC.10202", "error_msg" : "Invalid request parameter" }
状态码
状态码 |
描述 |
---|---|
202 |
新建转码任务提交成功。 |
403 |
新建转码任务提交失败。 |
错误码
请参见错误码。
