文档首页 > > API参考> 媒资转码接口> 新建转码任务

新建转码任务

分享
更新时间: 2020/02/04 GMT+08:00

功能描述

新建转码任务可以将视频进行转码,并在转码过程中压制水印、内容质检、视频截图等。视频转码前需要配置转码模板,具体请参见新建转码模板

待转码的音视频需要存储在与媒体处理服务同区域的OBS桶中,且该OBS桶已授权。

请求URI

POST /v1/{project_id}/transcodings

请求参数

表1 请求参数说明

参数

类型

说明

必选项(M)/可选项(O)

input

file_addr object

源文件存储地址。

M

output

file_addr object

转码后的视频文件存储地址。

M

trans_template_id

Array of integers

转码模板ID,数组,每一路转码输出对应一个转码配置模板ID,最多支持9个模板ID。

多个转码模板中如下参数可变,其他都必须一致:
  • 视频bitrate,height,width。
  • 音频bitrate。

O

av_parameters

Array of AvParameter objects

转码配置参数。

若同时设置“trans_template_id”和此参数,则优先使用此参数进行转码。

O

watermarks

Array of Watermark objects

支持图片水印和文字水印,最多支持20个。

O

priority

Integer

任务优先级。

取值如下:
  • 9:表示高优先级。
  • 6:表示中优先级。

默认值:6。

O

audit

Array of Audit objects

内容质检参数。

O

subtitle

Array of Subtitle objects

字幕参数。

O

output_filenames

Array of strings

输出文件名称,每一路转码输出对应一个名称,需要与转一模板ID数组的顺序对应。

  • 若设置该参数,表示输出文件按该参数命名。
  • 若不设置该参数,表示输出文件按默认方式命名。

O

encryption

Encryption object

视频加密控制参数。

O

thumbnail

Thumbnail object

截图信息。

O

video_process

VideoProcess object

视频处理参数。

O

audio_process

AudioProcess object

音频处理参数。

O

quality_enhance

QualityEnhance object

画质增强参数。

O

digital_watermark

DigitalWatermark object

数字水印属性。

O

multi_audio

MultiAudio object

音频多语言多声道参数设置。

O

crop

Crop object

截取前多少秒进行转码。

O

audio_track

AudioTrack object

音轨参数。

O

设置截图参数后,视频转码后会输出转码后的视频和对应的截图文件。

但是截图时仅支持按照标准分辨率设置的转码模板进行转码,即trans_template_id对应模板的width/height参数仅限于表2中的4种。

表2 标准分辨率

画质

分辨率

全高清1080p

1920*1080

高清720p

1280*720

标清480p

854*480

流畅270p

480*270

表3 file_addr参数说明

参数

类型

说明

必选项(M)/可选项(O)

bucket

String

OBS的桶名称。

M

location

String

桶所在的区域名, 如“华北-北京四”的区域名为“cn-north-4”

M

object

String

文件的存储路径。

  • 当用于“input”时,需要指定到具体对象。
  • 当用于“output”时,只需指定到转码结果期望存放的路径。

M

表4 AvParameter参数说明

参数

类型

说明

必选项(M)/可选项(O)

video

Video object

视频参数。

O

audio

Audio object

音频参数。

O

common

Common object

公共参数。

M

表5 Video参数说明

名称

类型

说明

必选项(M)/可选项(O)

output_policy

String

输出策略。

取值如下:

  • discard
  • transcode
说明:
  • 当视频参数中的“output_policy”为"discard",且音频参数中的“output_policy”为“transcode”时,表示只输出音频。
  • 当视频参数中的“output_policy”为"transcode",且音频参数中的“output_policy”为“discard”时,表示只输出音频。
  • 同时为"discard"时不合法。
  • 同时为“transcode”时,表示输出音视频。

M

codec

Integer

视频编码格式 。

取值如下:
  • 1:表示H.264
  • 2:表示H.265

M

bitrate

Integer

输出平均码率。

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

单位:kbit/s

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

M

profile

Integer

编码档次,建议设为3 。

取值如下:

  • 1:VIDEO_PROFILE_H264_BASE
  • 2: VIDEO_PROFILE_H264_MAIN
  • 3:VIDEO_PROFILE_H264_HIGH
  • 4:VIDEO_PROFILE_H265_MAIN

M

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

默认值:15

M

preset

Integer

编码质量等级。

取值如下:
  • 1:VIDEO_PRESET_HSPEED2
  • 2:VIDEO_PRESET_HSPEED
  • 3:VIDEO_PRESET_NORMAL
说明:

值越大,表示编码的质量越高,转码耗时也越长。

默认值:3

M

ref_frames_count

Integer

最大参考帧数。

取值范围:
  • H264:[1,8],默认值为4 。
  • H265:固定值4。

单位:帧。

M

max_iframes_interval

Integer

I帧最大间隔。

取值范围:[2,10]。

默认值:5。

单位:秒。

M

bframes_count

Integer

最大B帧间隔。

取值范围:
  • H264:[0,8] ,默认值为4。
  • H265:固定值7。

单位:帧。

M

frame_rate

Integer

帧率。

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

单位:帧每秒。

说明:若设置的帧率不在取值范围内,则自动调整为0,若设置的帧率高于片源帧率,则自动调整为片源帧率。

M

width

Integer

视频宽度。

取值范围:
  • H.264:0或[32,3840]间2的倍数。
  • H.265:0或[320,3840] 间2的倍数。

单位:像素。

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

M

height

Integer

视频高度(单位:像素)。

  • H.264:0或[32,2160]且必须为2的倍数。
  • H.265:0或[240,2160] 且必须为2的倍数。
  • 视频高度值取0时,视频高度值自适应。

M

black_cut

Integer

黑边剪裁类型。

取值如下:
  • 0:不开启黑边剪裁。
  • 1:开启黑边剪裁,低复杂度算法,针对长视频(>5分钟)。
  • 2:开启黑边剪裁,高复杂度算法,针对短视频(<=5分钟)。

O

aspect_ratio

Integer

纵横比,图像缩放方式。

取值如下:
  • 0:自适应,保持原有宽高比。
  • 1:补黑边(16:9)。

M

表6 Audio参数说明

名称

类型

说明

必选项(M)/可选项(O)

output_policy

String

输出策略。

取值如下:

  • discard
  • transcode
说明:
  • 当视频参数中的“output_policy”为"discard",且音频参数中的“output_policy”为“transcode”时,表示只输出音频。
  • 当视频参数中的“output_policy”为"transcode",且音频参数中的“output_policy”为“discard”时,表示只输出音频。
  • 同时为"discard"时不合法。
  • 同时为“transcode”时,表示输出音视频。

M

codec

Integer

音频编码格式。

取值如下:
  • 1:AAC格式。
  • 2:HEAAC1格式 。
  • 3:HEAAC2格式。
  • 4:MP3格式 。

默认值:1。

M

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)

默认值:1。

M

bitrate

Integer

音频码率。

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

单位:kbit/s。

M

channels

Integer

声道数。

取值如下:
  • 1:AUDIO_CHANNELS_1
  • 2:AUDIO_CHANNELS_2
  • 6:AUDIO_CHANNELS_5_1

M

表7 Common参数说明

名称

类型

说明

必选项(M)/可选项(O)

PVC

Boolean

是否开启高清低码功能。

取值如下:
  • false:关闭。
  • true:开启。

默认值:false。

M

hls_interval

Integer

HLS分片间隔,仅封装类型“pack_type”取值为1或3时,该参数生效。

取值范围:[2,10]。

默认值: 5。

单位:秒。

M

dash_interval

Integer

DASH间隔,仅封装类型“pack_type”取值为2或3时,该参数生效。

取值范围:[2,10]。

默认值: 5。

单位:秒。

M

pack_type

Integer

封装类型。

取值如下:
  • 1: HLS
  • 2:DASH
  • 3: HLS+DASH
  • 4: MP4
  • 5: MP3
  • 6: ADTS

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

M

表8 Watermark参数说明

参数

类型

说明

必选项(M)/可选项(O)

input

file_addr object

水印图片存储地址。

O

template_id

String

水印模板。可通过新建水印模板接口创建水印模板。

O

image_watermark

PictrueWatermark object

图片水印参数,用于覆盖图片水印模板中的同名参数。

O

text_content

String

文字水印内容,内容需做Base64编码。

示例:若需要添加的文字水印为“测试文字水印”,则Content的值为:5rWL6K+V5paH5a2X5rC05Y2w

O

text_watermark

TextWatermark object

文字水印配置,若设置“text_context”,则此配置项不能为空。

O

表9 PictrueWatermark参数说明

参数

类型

说明

必选项(M)/可选项(O)

image_process

String

图片水印处理方式。“type”设置为“Image”时有效。

取值如下:
  • Original:只做简单缩放,不做其他处理。
  • Grayed:彩色图片变灰。
  • Transparent:透明化。

O

width

String

水印图片宽度。

设置方法有如下两种:
  • 整数型:表示水印图片宽的像素值,单位为px。

    取值范围:[8,4096]。

  • 小数型:表示水印图片宽度相对于视频分辨率的宽的比率。

    取值范围:(0,1),支持4位小数,如0.9999,超出部分系统自动丢弃。

    示例:输出视频分辨率宽1920,设置“width”“0.1”,则水印图片宽为192。

O

height

String

水印图片高度。

设置方法有如下两种:
  • 整数型:表示水印图片宽的像素值,单位为px。

    取值范围:[8,4096]。

  • 小数型:表示水印图片宽度相对于视频分辨率的宽的比率。

    取值范围:(0,1),支持4位小数,如0.9999,超出部分系统自动丢弃。

    示例:例如输出视频分辨率高1080,设置“height”“0.1”,则水印图片高为108。

O

dx

String

水印图片起点相对输出视频定点的水平偏移量。

设置方法有如下两种:
  • 整数型:表示图片起点水平偏移视频顶点的像素值,单位px。

    取值范围:[0,4096]

  • 小数型:表示图片起点相对于视频分辨率宽的水平偏移比率。

    取值范围:(0,1),支持4位小数,如0.9999,超出部分系统自动丢弃。

    示例:输出视频分辨率宽1920,设置“dx”“0.1”“referpos”“TopRight”(右上角),则水印图片右上角到视频右顶点在水平方向上偏移距离为192。

默认值:0。

O

dy

String

水印图片起点相对输出视频定点的垂直偏移量。

设置方法有如下两种:
  • 整数型:表示图片起点水平偏移视频顶点的像素值,单位px。

    取值范围:[0,4096]

  • 小数型:表示图片起点相对于视频分辨率宽的水平偏移比率。

    取值范围:(0,1),支持4位小数,如0.9999,超出部分系统自动丢弃。

    示例:输出视频分辨率高1080,设置“dy”“0.1”“referpos”“TopRight”(右上角),则水印图片右上角到视频右顶点在垂直方向上的偏移距离为180。

默认值:0。

O

referpos

String

水印的位置。

取值如下:
  • TopRight:右上角。
  • TopLeft:左下角。
  • BottomRight:右下角。
  • BottomLeft:左下角。

O

timeline_start

String

水印开始时间,与“timeline_duration”配合使用。

取值范围:数字。

默认值:0。

单位:秒。

O

timeline_duration

String

水印持续时间,与“timeline_start”配合使用。

取值范围:[数字,ToEND]。

默认值:ToEND。

O

表10 TextWatermark参数说明

参数

类型

说明

必选项(M)/可选项(O)

font_name

String

文字水印字体,取值如下:
  • fzyouh。
  • msyh。

默认值:msyh。

O

font_size

String

字体大小,取值范围如下:

  • 默认值:16
  • 范围:(4,120)

O

font_color

String

字体颜色,取值如下:

  • black:黑色。
  • blue:蓝色。
  • white:白色。
  • green:绿色。
  • red:红色。
  • yellow:黄色。
  • brown:棕色。
  • gold:金色。
  • pink:粉红色。
  • orange:橘黄色。
  • purple:紫色。

默认值:white。

O

dx

String

水印图片起点相对输出视频定点的水平偏移量。

设置方法有如下两种:
  • 整数型:表示图片起点水平偏移视频顶点的像素值,单位px。

    取值范围:[0,4096]

  • 小数型:表示图片起点相对于视频分辨率宽的水平偏移比率。

    取值范围:(0,1),支持4位小数,如0.9999,超出部分系统自动丢弃。

    示例:输出视频分辨率宽1920,设置“dx”“0.1”“referpos”“TopRight”(右上角),则水印图片右上角到视频右顶点在水平方向上偏移距离为192。

默认值:0。

O

dy

String

水印图片起点相对输出视频定点的垂直偏移量。

设置方法有如下两种:
  • 整数型:表示图片起点水平偏移视频顶点的像素值,单位px。

    取值范围:[0,4096]

  • 小数型:表示图片起点相对于视频分辨率宽的水平偏移比率。

    取值范围:(0,1),支持4位小数,如0.9999,超出部分系统自动丢弃。

    示例:输出视频分辨率高1080,设置“dy”“0.1”“referpos”“TopRight”(右上角),则水印图片右上角到视频右顶点在垂直方向上的偏移距离为180。

默认值:0。

O

referpos

String

水印的位置。

取值如下:
  • TopRight:右上角。
  • TopLeft:左下角。
  • BottomRight:右下角。
  • BottomLeft:左下角。

O

timeline_start

String

水印开始时间,与“timeline_duration”配合使用。

取值范围:数字。

默认值:0。

单位:秒。

O

timeline_duration

String

水印持续时间,与“timeline_start”配合使用。

取值范围:[数字,ToEND]。

默认值:ToEND。

O

表11 Audit参数说明

参数

类型

说明

必选项(M)/可选项(O)

position

Integer

内容质检位置。

取值如下:
  • 1:原始片源检查。
  • 2:转码后片源检查,转码后的片源分辨率必须为720p及以上,且格式需与原始片源一致。

M

index

Integer

转码模板ID索引。此索引必须为TransPresetID中的一个。

对应的是第几路的校验,比如一进六出,需要对第4路检查,就输入3。

说明:
  • 如对原片源质检,此字段不填。
  • 原始码率和转码后的码率都必须是1280*720及之上。
  • 若对转码后片源检测,必须和原始分辨率一致。

O

表12 Subtitle参数说明

参数

类型

说明

必选项(M)/可选项(O)

subtitle_type

Integer

字幕类型(bitmap)。

取值如下:
  • 0:不嵌入字幕。
  • 1:外部字幕文件嵌入视频流。

O

input

file_addr object

字幕文件存储地址,仅支持SRT格式字幕。

O

inputs

Array of file_addr objects

多字幕文件存储地址,仅支持SRT格式字幕。

O

表13 Encryption参数说明

参数

类型

说明

必选项(M)/可选项(O)

hls_encrypt

HlsEncrypt object

HLS视频加密控制参数。

O

表14 HlsEncryp参数说明

参数

类型

说明

必选项(M)/可选项(O)

key

String

内容加密密钥,base64Binary。

M

url

String

密钥获取服务的地址。

M

iv

String

初始向量,base64Binary,随机数。

O

algorithm

String

加密算法。

取值如下:
  • AES-128-CTR
  • AES-128-CBC

默认值:AES-128-CBC

O

表15 Thumbnail参数说明

参数

类型

说明

必选项(M)/可选项(O)

out

file_addr object

截图输出路径,若不设置,则与转码视频文件的输出地址相同。

O

params

thumbnail_param object

截图参数。

M

tar

Integer

是否压缩抽帧图片生成tar包。

取值如下:
  • 0:压缩。
  • 1:不压缩。

默认值:1。

O

表16 thumbnail_param参数说明

名称

类型

说明

必选项(M)/可选项(O)

type

String

采样类型。

取值如下:
  • “TIME”:根据时间间隔采样截图。
  • “DOTS” : 指定时间点截图。

默认值:“TIME”。

M

time

Integer

采样截图的时间间隔值。

默认值:12

单位:秒

O

start_time

Integer

采样类型为“TIME”模式的开始时间,和“time”配合使用。默认值:0

单位:秒。

O

duration

Integer

采样类型为“TIME”模式的持续时间,和“time”“start_time”配合使用,表示从视频文件的第“start_time”开始,持续时间为“duration”,每间隔“time”生成一张截图。

取值范围:[数字,ToEND]
说明:

“数字”:大于等0,若“duration”设置为0,则从截图生成时间为“start_time”到视频结束。

“ToEND”:表示“start_time”到视频结束的持续时长。

默认值:ToEND

单位:秒

O

dots

Array of integers

指定时间截图时的时间点数组。

O

format

Integer

截图文件格式,当前只支持jpg。

取值如下:

  • 1 : jpg。

默认值:1。

O

aspect_ratio

Integer

纵横比,图像缩放方式。

取值如下:
  • 0:自适应(保持原有宽高比)。
  • 1:16:9。

O

width

Integer

截图宽度,需小于视频宽度且符合标准配置

O

height

Integer

截图高度,需小于视频高度且符合标准配置

O

max_length

Integer

截图长边尺寸(单位:像素),需小于视频长边。

短边尺寸按照该尺寸与原始视频像素等比缩放计算。

默认值:480。

O

表17 DigitalWatermark参数说明

参数

类型

说明

必选项(M)/可选项(O)

profile

String

取值如下:
  • ROBUST:水印鲁棒性最高。
  • MEDIUM:水印鲁棒性和视频质量折中。
  • QUALITY :视频质量最好。

M

表18 MultiAudio参数说明

参数

类型

说明

必选项(M)/可选项(O)

audio_files

Array of AudioFile

独立音频文件参数。

O

default_language

String

默认语言。

HLS输出:默认语言音轨和视频封装在一起,其他语言单独封装。

DASH输出:默认语言音轨为第一路音频文件。

MP4输出:默认语言音轨合入和视频流封装一起(其他语言不合入)

如果用户不指定默认语言,则自动选择一路音频作为默认语言。

O

表19 AudioTrackInfo参数说明

参数

类型

说明

必选项(M)/可选项(O)

channel_layout

String

音频轨的声道layout。具体值参见表27 声道layout描述详情

如果音轨是多声道,则使用"+"连接2个声道。比如:双声道描述为" FL+FR "

O

language

String

音频轨对应语言描述。

O

表20 AudioFile参数说明

参数

类型

说明

必选项(M)/可选项(O)

input

file_addr object

独立音频文件地址

M

表21 Crop参数说明

参数

类型

说明

必选项(M)/可选项(O)

duration

Integer

截取的视频时长,从0秒开始算起。

默认值:0。

单位:秒。

M

表22 AudioTrack参数说明

参数

类型

说明

必选项(M)/可选项(O)

type

Integer

音轨选取方式。

取值如下:
  • 0:表示默认选取。
  • 1:表示手动选择。

默认值:0。

M

left

Integer

选取左声道所在的音轨编号。

O

right

Integer

选取右声道所在的音轨编号。

O

表23 VideoProcess参数说明

参数

类型

说明

必选项(M)/可选项(O)

rotate

Integer

视频顺时针旋转角度。

取值如下:
  • 0:表示不旋转
  • 1:表示顺时针旋转90度
  • 2:表示顺时针旋转180度
  • 3:表示顺时针旋转270度

默认值:0

M

adaptation

String

长短边自适应控制字段。

取值如下:

  • SHORT:表示短边自适应
  • LONG:表示长边自适应
  • NONE:表示不自适应

默认值:SHORT

O

upsample

Integer

是否开启上采样。

取值如下:
  • 0:表示上采样关闭。
  • 1:表示上采样开启。

O

表24 AudioProcess参数说明

参数

类型

说明

必选项(M)/可选项(O)

volume

String

音量调整方式。

取值如下:

  • auto:表示自动调整音量。
  • dynamic:表示人为调整,需设定音量调整幅值。

O

volume_expr

Integer

音量调整幅值,“volume”“dynamic”时,该参数有效。

取值范围:[-15,15]。

单位:dB。

O

表25 QualityEnhance参数说明

参数

类型

说明

必选项(M)/可选项(O)

normal_enhance

String

针对一般质量、无明显问题的普通片源,通过增强、锐化等技术明显提升主观效果。单纯该处理操作前后,分辨率、帧率等参数不发生变化。

取值如下:

normal

O

表26 声道layout描述详情

声道layout取值

描述

FL

front left

FR

front right

FC

front center

LFE

low frequency

BL

back left

BR

back right

BC

back center

SL

side left

SR

side right

DL

downmix left

DR

downmix right

在转码过程中截图仅支持截取按照标准配置尺寸的图片,若需要自定义截图尺寸,请使用新建截图任务接口。

请求样例

POST /v1/{project_id}/transcodings

{
"input": {
           "bucket": "example-bucket",
           "location": "cn-north-4",
           "object": "/VOD/input/sample.MP4"
},
"output": {
           "bucket": "example-bucket",
           "location": "cn-north-4",
           "object": "/VOD/output/"
},
"trans_template_id":[1002,1003,1004,1005],
"watermarks": [{
	"input": {
		"bucket": "example-bucket",
		"location": "cn-north-4",
		"object": "meipai.jpg"
	},
	"template_id":242
}],
"priority":"9",
"audit":{
	"position":2,
         "index":2
},
"subtitle":{
	"subtitle_type":1,
	"input": {
	        "bucket": "bucket,
		"location": "cn-north-4",
	        "object": "subtitle.srt"
		}
},
"output_filenames":["test","test2","test3","test4"],
"encryption": {
	"hls_encrypt": {
		"key": "aigPLJhffXBNnERs",
		"url": "https://vod.cn-north-4.myhuaweicloud.com/encrypt/getkey",
		"iv":"yCmE666N3YAq30SN",
                "algorithm":"AES-128-CTR"
             }	
},
"thumbnail": {
    "out":{
           "bucket": "example-bucket",
           "location": "cn-north-4",
           "object": "/VOD/output/"
        },
    "tar" : 1,
    "params": {
        "type":"TIME"
         "time":2,
        "format":1,
        "aspect_ratio":1,
        "max_length":480
    }
}
} 

返回参数

  • 创建成功时返回
    表27 创建成功返回参数说明

    参数

    类型

    说明

    task_id

    Integer

    任务ID。

  • 创建失败时返回
    表28 创建失败返回参数说明

    参数

    类型

    说明

    error_code

    String

    错误码。

    error_msg

    String

    错误描述。

返回样例

  • 处理成功返回(201 Created)
    {
      "task_id": 100211
    }
  • 处理失败返回(500 Internal Server Error)
    {
      "error_code": "MPC.10002",
      "error_msg": "NoSuchBucket"
    }

错误码

错误码请参见错误码

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区