调用SubmitJobs提交转码作业。
使用说明
- 当控制台创建的转码任务和工作流均无法满足您的使用场景时,可以按需调用SubmitJobs接口进行转码。根据您的业务逻辑配置所需的转码参数即可。
- 如需在MPS服务中使用多个账号,可以为阿里云账号创建RAM用户,并授予RAM用户MPSfullaccess权限。如果提交转码作业和查询转码作业使用的是不同的阿里云账号,则会导致查询不到数据。具体操作,请参见设置RAM用户和授权。
- 一个转码输出会生成一个转码作业,本接口返回参数中包含转码作业列表。
- 媒体处理中转码需要重新编码,不保证转码完成后码率与源文件一致,如果需要文件流码率不变,可以使用转封装。转封装模板详细信息,请参见预置模板详情。
-
作业会添加到管道中被调度执行,执行完成后需要调用查询转码作业接口轮询作业执行结果,也可使用异步通知机制。说明 异步通知:为管道设定消息通知属性,管道内转码作业异步接口的返回消息可通过消息通知服务主动推送到用户的消息接收服务。
-
使用预置智能模板对输入文件进行转码时,必须要先调用提交模板分析作业接口(SubmitAnalysisJob),分析作业成功完成后可以通过调用查询模板分析作业接口( QueryAnalysisJobList)获取该输入文件的可用预置模板列表。说明 提交转码作业时,将
TemplateId
参数设置为可用的预置模板ID即可。若提交的转码作业中指定的模板不在可用的预置模板列表中,则转码作业会失败。 - 使用预置静态模板对输入文件进行转码时,不需要提交模板分析作业。
- 待转码文件单个文件大小最大支持100 GB,超过否则可能导致处理失败。
QPS限制
本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | SubmitJobs |
操作接口名,系统规定参数,取值: SubmitJobs。 |
Input | String | 是 | {"Bucket":"exampleBucket","Location":"oss-cn-hangzhou","Object":"example.flv","Referer": "用户自行在OSS控制台设置的OSS防盗链参数"} |
作业输入,JSON对象,其中,Referer为非必填参数,如需在单任务转码时设置referer,Input中的Referer必填。Input参数说明,请参见Input详情。 说明 目前支持
{ObjectPrefix} 、{FileName} 、{ExtName} 动态替换。示例:转码输入文件Object:a/b/c/test.flv ,字幕文件用动态规则可表示为:{ObjectPrefix}{FileName}-cn.srt ,需经URLEncode,Object设置为:%7bObjectPrefix%7d%7bFileName%7d-cn.srt 。那么MPS会认为外挂字幕文件地址为:a/b/c/test-cn.srt 。
|
Outputs | String | 是 | [{"OutputObject":"exampleOutput.mp4","TemplateId":"6181666213ab41b9bc21da8ff5ff****","WaterMarks":[{"InputFile":{"Bucket":"exampleBucket","Location":"oss-cn-hangzhou","Object":"image_01.png"},"WaterMarkTemplateId":"9b772ce2740d4d55876d8b542d47****"}],"UserData":"testid-001"}] |
作业输出。 说明 如需使用提交转码作业接口进行图片拼接,请将待处理图片宽度和高度均设置为偶数,否则可能导致任务失败。
|
OutputBucket | String | 是 | exampleBucket |
输出Bucket,可以通过MPS控制台 > 工作流管理 > 媒体Bucket获取。 |
OutputLocation | String | 否 | oss-cn-hangzhou |
输出Bucket所在地域。 |
PipelineId | String | 是 | dd3dae411e704030b921e52698e5**** |
管道ID。可以通过MPS控制台 > 全局设置 > 管道查询。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
JobResultList | Array of JobResult |
提交转码作业结果列表。 |
|
JobResult | |||
Job | Object |
作业详细信息。如果提交失败则不会生成作业ID。 |
|
CreationTime | String | 2014-01-10T12:00:00Z |
作业添加时间。 |
Percent | Long | 100 |
转码进度。 |
FinishTime | String | 2014-01-10T12:20:00Z |
作业完成时间。 |
State | String | Submitted |
作业状态。
|
JobId | String | 31fa3c9ca8134f9cec2b4b0b0f78**** |
任务ID。 |
Code | String | InternalError |
转码失败时的错误码。转码成功时不返回。 |
Message | String | The operation has failed due to some unknown error, exception or failure. |
转码失败时的消息。转码成功时不返回。 |
Output | Object |
作业输出。 |
|
Video | Object |
视频配置。 说明 指定则替换TemplateId所指定模板的AliyunVideoCodec设置。
|
|
Bufsize | String | 1000 |
缓冲区大小。
|
Degrain | String | 5 |
独立去噪算法强度。 |
BitrateBnd | Object |
视频平均码率范围。 |
|
Max | String | 20 |
总码率上限。单位:Kbps。 |
Min | String | 10 |
总码率下限。单位:Kbps。 |
PixFmt | String | yuvj420p |
视频颜色格式。
|
Pad | String | 1280:800:0:140 |
视频贴黑边。
|
Codec | String | H.264 |
编解码格式。
|
Height | String | 1280 |
高。
|
Qscale | String | 15 |
视频质量控制值。 |
Crop | String | 1280:800:0:140 |
视频画面裁切。支持2种方式:
|
Bitrate | String | 10 |
视频输出文件的码率。单位:Kbps。 |
Maxrate | String | 10 |
视频码率峰值。单位:Kbps。 |
MaxFps | String | 15 |
最大帧率。 |
Profile | String | baseline |
编码级别,目前仅H264支持此参数。默认值:high,可取值: 说明 如果您有多个清晰度,建议最低清晰度配置成baseline,以保证最低端设备可播放。其他清晰度配置为main或high。
|
Crf | String | 22 |
码率-质量控制因子。
|
Gop | String | 1 |
关键帧间最大时间间隔或最大帧数。单位:秒(s)。
|
Width | String | 1080 |
宽。
|
Fps | String | 60 |
帧率。
|
Preset | String | veryfast |
视频算法器预置。默认值:medium。可取值:
|
ScanMode | String | interlaced |
扫描模式。可取值:
|
ResoPriority | String | 1 |
资源优先级。 |
TransConfig | Object |
转码通用配置。 说明 如果请求参数中设置了该值,则覆盖指定转码模板中的对应参数。
|
|
IsCheckAudioBitrate | String | false |
是否检查音频码率。如果音频输出码率大于音频输入码率,则视为音频输出码率等于音频输入码率。 说明 如果转码前后的音频编码器一致且转码后的音频码率大于转码前的音频码率,音频码率将会被重置,设置的音频码率不会生效。
|
TransMode | String | onepass |
转码模式。可取值:
|
IsCheckReso | String | false |
是否检查分辨率。如果输出分辨率大于输入分辨率(判断条件是宽或高),则视为输出分辨率等于输入分辨率。
|
IsCheckVideoBitrateFail | String | true |
是否检查码率。当输出视频码率大于媒体源视频码率时,则不进行转码,直接返回转码失败。此值优先级大于IsCheckVideoBitrate。
|
AdjDarMethod | String | crop |
分辨率改写方式。默认值:none。可取值:
|
IsCheckVideoBitrate | String | false |
是否检查视频码率。如果视频输出码率大于视频输入码率,则视为视频输出码率等于视频输入码率。
|
IsCheckResoFail | String | false |
是否检查分辨率。如果输出分辨率大于输入分辨率(判断条件是宽或高),则不进行转码,直接返回转码失败。此值优先级大于IsCheckReso。
|
IsCheckAudioBitrateFail | String | true |
是否检查音频码率。当输出音频码率大于媒体源音频码率时,则不进行转码,直接返回转码失败,此值优先级大于IsCheckAudioBitrate。
|
Encryption | Object |
数据加密,只支持m3u8格式的输出。 |
|
Type | String | hls-aes-128 |
加密类型。取值:hls-aes-128。 |
Key | String | encryptionkey128 |
加密视频的密钥。 |
KeyType | String | Base64 |
密钥Key不能明文传输给MPS,需要加密,方式为Base64或KMS。如密钥为"encryptionkey128”, 则Base64(“encryptionkey128”), 或 KMS(Base64(“encryptionkey128”)。 |
Id | String | 31fa3c9ca8134f9cec2b4b0b0f78**** |
加密ID。 |
KeyUri | String | https://1161758785*****.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/HLS-decyptServer/decyptServer/ |
密钥的访问URL,使用BASE64进行编码。 |
SkipCnt | String | 3 |
前面不加密的片数(视频能快速播放起来)。 |
WaterMarkList | Array of WaterMark |
水印列表。 说明 如果水印输出截断或失败,请先检查您添加的文本水印中是否包含特殊字符,如有,则需要对特殊字符进行转义后再传入,或提交工单联系阿里云客服进行兼容处理。
|
|
WaterMark | |||
Type | String | Image |
水印类型。如果请求参数中设置了此参数,则此值覆盖水印模板对应参数。更多信息,请参见参数详情。可取值:
|
ReferPos | String | TopRight |
水印的位置。如果请求参数中设置了此值,则覆盖水印模板对应参数。可取值:
|
Dx | String | 1 |
水印图片相对输出视频的水平偏移量。如果请求参数中设置了此值,则覆盖水印模板对应参数。默认值为0。值有两种形式:
|
Width | String | 1080 |
水印图片宽。如果在请求参数中设置了此值,则覆盖水印模板对应水印图片宽。值有两种形式:
|
Height | String | 1280 |
水印图片高。如果在请求参数中设置了此值,则覆盖水印模板对应水印图片高。值有两种形式:
|
InputFile | Object |
水印输入文件。目前支持png图片、mov文件作为输入文件。 |
|
Object | String | example-logo-****.png |
输入文件的OSS Object。 |
Location | String | oss-cn-hangzhou |
输入文件的OSS Location。 |
Bucket | String | example-bucket |
输入文件的OSS Bucket。 |
WaterMarkTemplateId | String | 88c6ca184c0e47098a5b665e2a12**** |
水印模板ID。 |
Dy | String | 1 |
水印图片相对输出视频的垂直偏移量。如果在请求参数中设置了此值,则覆盖水印模板对应水印图片相对输出视频的垂直偏移量。值有两种形式:
|
WaterMarkConfigUrl | String | http://example.com/configure |
水印配置文件URL。 |
DeWatermark | String | {"0": [{"l": 10,"t": 10,"w": 10,"h": 10},{"l": 100,"t": 0.1,"w": 10,"h": 10}],"128000": [],"250000": [{"l": 0.2,"t": 0.1,"w": 0.01,"h": 0.05}]} |
模糊处理,JSON对象。更多信息请参见参数详情中的模糊处理详情。 |
M3U8NonStandardSupport | Object |
M3U8非标准支持,JSON对象。更多信息请参见参数详情中的M3U8非标准参数支持详情。 |
|
TS | Object |
JSON对象,TS文件相关非标准支持。更多信息请参见参数详情中的TS参数支持详情。 |
|
SizeSupport | Boolean | true |
是否支持在M3U8文件中输出TS文件的大小。可取值:
|
Md5Support | Boolean | true |
是否支持在M3U8文件中输出TS的md5值。可取值:
|
Priority | String | 5 |
任务在其对应管道内的优先级。
|
Audio | Object |
音频配置。 说明 如果请求参数中指定了音频配置则覆盖指定转码模板中的对应参数。
|
|
Profile | String | aac_low |
音频编码预置。 说明 当Codec为aac时可以取如下范围中的值:aac_low、aac_he、aac_he_v2、aac_ld、aac_eld。
|
Codec | String | aac |
音频编解码格式。
|
Samplerate | String | 32000 |
采样率。
说明 若视频容器格式为flv,音频编解码格式选择为mp3时,采样率不支持32000、48000、96000;音频编解码格式为mp3时,采样率不支持96000。
|
Qscale | String | 15 |
音频质量控制度。 |
Channels | String | 6 |
声道数。
|
Volume | Object |
音量控置。 |
|
Method | String | auto |
音量调整方式。可取值:
|
Level | String | -20 |
音量调整幅度
|
Bitrate | String | 128 |
输出文件的音频码率。
|
AudioStreamMap | String | 0:a:0 |
音频流序号。
|
MergeList | Array of Merge |
视频拼接配置。 |
|
Merge | |||
Start | String | 00000.50 |
起始时间点。
|
RoleArn | String | acs:ram::<your uid>:role/<your role name> |
代理授权使用的角色信息。 |
MergeURL | String | http://example-bucket-****.oss-cn-hangzhou.aliyuncs.com/example-object-****.flv |
拼接片段地址。
|
Duration | String | 00000.20 |
持续时间。
|
SuperReso | Object |
分辨率随源。 |
|
IsHalfSample | String | true |
是否获取采样率相关参数。可取值:
|
UserData | String | example data |
用户自定义数据。 |
OutSubtitleList | Array of OutSubtitle |
输出字幕列表。 |
|
OutSubtitle | |||
Map | String | 0:v:0 |
视频轨。格式: |
OutSubtitleFile | Object |
输出文件详细信息。 |
|
RoleArn | String | acs:ram::<your uid>:role/<your role name> |
代理授权使用的角色信息。 |
Object | String | example-output.flv |
输出文件的OSS Object。 |
Location | String | oss-cn-hangzhou |
输出文件的OSS Location。 |
Bucket | String | example-bucket-**** |
输入文件的OSS Bucket。 |
Success | Boolean | true |
是否成功。可取值:
|
Message | String | The specified parameter “%s” cannot be null. |
创建作业失败时错误消息。创建成功时此参数不返回。 |
DigiWaterMark | Object |
数字水印。 |
|
Type | String | Image |
水印类型。如果设置过水印类型,则此值覆盖水印模板对应参数。可取值:
|
Alpha | String | 1.0 |
文字或图片的透明度。
|
InputFile | Object |
输入文件。 |
|
Object | String | example-intput.flv |
输入文件的OSS Object。 |
Location | String | oss-cn-hangzhou |
输入文件的OSS Location。 |
Bucket | String | example-bucket-**** |
输入文件的OSS Bucket。 |
VideoStreamMap | String | 0:a:0 |
视频流序号。
|
OutputFile | Object |
输出文件。 |
|
RoleArn | String | acs:ram::<your uid>:role/<your role name> |
代理授权使用的角色信息。 |
Object | String | example-output.flv |
输出文件的OSS Object。 |
Location | String | oss-cn-hangzhou |
输出文件的OSS Location。 |
Bucket | String | example-bucket-**** |
输入文件的OSS Bucket。 |
AmixList | Array of Amix |
混音列表。 |
|
Amix | |||
Map | String | 0:a:0 |
在AmixURL中选取目标音轨,取值为:0:a:{audio_index}, 如0:a:0。 |
Start | String | 0 |
起始时间。数字或时间格式例如:"1:25:36.240", "32000.23"。 |
AmixURL | String | https://outpu***.oss-cn-shanghai.aliyuncs.com/mp4-to-mp3%5E1571025263578816%40.mp3 |
需要被混音的背景音轨媒体。
|
Duration | String | 20 |
持续时长。数字或时间格式。 |
MixDurMode | String | long |
媒体时长取值。可取值:first、long。
|
Rotate | String | 180 |
视频顺时针旋转角度。 |
Container | Object |
容器。 |
|
Format | String | flv |
容器格式。
|
Clip | Object |
剪辑片段。 |
|
TimeSpan | Object |
剪辑时间段。 |
|
Seek | String | 01:59:59.999 |
开始时间。
|
Duration | String | 01:00:59.999 |
延续时间。
|
MergeConfigUrl | String | `{"MergeList":[{"MergeURL":"http://exampleBucket****.oss-cn-hangzhou.aliyuncs.com/video_01.mp4"}]} |
MergeList与MergeConfigUrl两个参数只支持二选一。
|
OpeningList | Array of Opening |
开板列表,JSON对象。 |
|
Opening | |||
openUrl | String | http://example-bucket-****.oss-cn-hangzhou.aliyuncs.com/opening_01.flv |
开板视频的OSS URL地址。 |
Start | String | 1 |
相对正片视频的开始时间。从0开始延迟多长时间后,显示开板视频。
|
Width | String | 1920 |
宽。
|
Height | String | 1080 |
高。
|
MuxConfig | Object |
转码封包配置。如果请求参数中设置了此参数,则覆盖指定转码模板中的对应参数。 |
|
Webp | Object |
Webp对应的封包配置。 |
|
Loop | String | 0 |
循环次数。 |
Gif | Object |
Gif对应的封包配置。 |
|
FinalDelay | String | 0 |
终帧暂停时间,单位:厘秒。 |
DitherMode | String | bayer |
调色板颜色抖动方式。可取值:sierra、bayer。 |
Loop | String | 0 |
循环次数。 |
IsCustomPalette | String | false |
自定义调色板功能。可取值:
|
Segment | Object |
切片配置,JSON对象。 |
|
Duration | String | 20 |
分片时长。整数,单位:秒。
|
TailSlateList | Array of TailSlate |
尾板列表,JSON对象。 |
|
TailSlate | |||
Start | String | 1 |
开始时间。 |
BgColor | String | White |
如果尾板视频的宽、高小于正片时,设置空白处填充的背景色。默认为White,更多取值请参见bgcolor。 |
IsMergeAudio | Boolean | false |
是否要拼接尾板视频的音频内容。可取值:
|
Width | String | 1920 |
宽。
|
Height | String | 1080 |
高。
|
BlendDuration | String | 2 |
正片视频和尾板视频过渡的时长。过渡的效果是淡入淡出:正片显示最后一帧,同时播放尾板视频,正片最后一帧逐步变暗,尾板视频逐步变亮。单位秒,默认0。 |
TailUrl | String | http://example-bucket-****.oss-cn-hangzhou.aliyuncs.com/opening_01.flv |
尾板视频的OSS URL地址。 |
TemplateId | String | S00000000-000010 |
转码模板ID。 |
SubtitleConfig | Object |
字幕配置信息。 |
|
ExtSubtitleList | Array of ExtSubtitle |
外部字幕列表,JSON数组,最多4个。 |
|
ExtSubtitle | |||
CharEnc | String | UTF-8 |
外部字幕字符编码。
说明 外部字幕字符编码设置为auto时,存在误检情况,建议您指定具体的字符编码。
|
FontName | String | "WenQuanYi Zen Hei", "Yuanti SC Regular", "SimSun" |
外挂字幕转换成硬字幕对应的字体名称。默认值:SimSun。更多字体信息请参见字体列表。 |
Input | Object |
JSON对象,外部输入字幕文件。目前支持srt、ass格式。 |
|
Object | String | example-output.flv |
输入文件的OSS Object。 |
Location | String | oss-cn-hangzhou |
输入文件所在的OSS Location。 |
Bucket | String | example-bucket-**** |
输入文件所在的OSS Bucket。 |
SubtitleList | Array of Subtitle |
字幕列表。 |
|
Subtitle | |||
Map | String | 0:a:0 |
音轨。格式: |
Properties | Object |
媒体属性。 |
|
Width | String | 1280 |
视频宽。 |
Height | String | 720 |
视频长。 |
Duration | String | 55 |
时长。 |
Fps | String | 25 |
帧率,数字。 |
Bitrate | String | 1000 |
码率。 |
FileFormat | String | QuickTime / MOV |
文件格式。 |
Streams | Object |
流信息。 |
|
VideoStreamList | Array of VideoStream |
视频流列表。 |
|
VideoStream | |||
Index | String | 0 |
视频流序号,标识视频流在整个媒体流中的位置。 |
Timebase | String | 1/24000 |
时基。 |
AvgFPS | String | 23.976025 |
平均帧率。 |
PixFmt | String | yuv420p |
像素格式。 |
Sar | String | 1:1 |
编码信号分辨率比。 |
Lang | String | eng | |
CodecLongName | String | H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 |
编码格式长述名。 |
Height | String | 720 |
视频分辨率长。 |
NumFrames | String | 25 |
总帧数。 |
Bitrate | String | 1496.46 |
码率。 |
CodecTagString | String | avc1 |
编码格式标记文本。 |
HasBFrames | String | 2 |
是否有B帧。 |
Profile | String | high |
编码预置。 |
StartTime | String | 0.000000 |
起始时间。 |
NetworkCost | Object |
网络带宽消耗。 |
|
PreloadTime | String | 8 |
预加载时间。 |
AvgBitrate | String | 100 |
平均码率。 |
CostBandwidth | String | 10 |
最大消耗带宽。 |
Dar | String | 16:9 |
编码显示分辨率比。 |
CodecName | String | h264 |
编码格式简述名。 |
Width | String | 1280 |
视频分辨率宽,数字。 |
Duration | String | 17.225542 |
时长。 |
Fps | String | 23.976025 |
帧率。 |
CodecTag | String | 0x31637661 |
编码格式标记。 |
CodecTimeBase | String | 1001/48000 |
编码时基。 |
Level | String | 51 |
编码等级。 |
AudioStreamList | Array of AudioStream |
音频流列表。 |
|
AudioStream | |||
Timebase | String | 1/44100 |
时基。 |
Index | String | 1 |
音频流序号。标识音频流在整个媒体流中的位置。 |
SampleFmt | String | fltp |
采样格式。 |
ChannelLayout | String | stereo |
声道输出样式。 |
Lang | String | eng | |
Samplerate | String | 44100 |
采样率。 |
CodecLongName | String | AAC (Advanced Audio Coding) |
编码格式长述名。 |
Channels | String | 2 |
声道数。 |
NumFrames | String | 25 |
总帧数。 |
Bitrate | String | 128.806 |
码率。 |
CodecTagString | String | mp4a |
编码格式标记文本。 |
StartTime | String | 0.000000 |
起始时间。 |
CodecName | String | aac |
编码格式简述名。 |
Duration | String | 17.159546 |
时长。 |
CodecTag | String | 0x6134706d |
编码格式标记。 |
CodecTimeBase | String | 1/44100 |
编码时基。 |
SubtitleStreamList | Array of SubtitleStream |
字幕流列表。 |
|
SubtitleStream | |||
Index | String | 1 |
字幕流序号,标识字幕流在整个媒体流中的位置。 |
Lang | String | eng | |
Format | Object |
格式信息。 |
|
StartTime | String | 0.000000 |
起始时间。 |
NumPrograms | String | 0 |
节目流总数。 |
Size | String | 3509895 |
文件大小。 |
NumStreams | String | 2 |
媒体流总数。 |
FormatLongName | String | QuickTime / MOV |
容器、封装格式长述名。 |
Duration | String | 55 |
总时长。 |
Bitrate | String | 1000 |
总码率。 |
FormatName | String | mov |
容器、封装格式简述名。可取值:mov、mp4、m4a、3gp、3g2、mj2。 |
FileSize | String | 3509895 |
文件大小。 |
PipelineId | String | 88c6ca184c0e47098a5b665e2a126797 |
管道ID。 |
Input | Object |
作业输入。 |
|
Object | String | example.flv |
作业输入的OSS Object。 |
Location | String | oss-cn-hangzhou |
作业输入的OSS Location。 |
Bucket | String | example-bucket-**** |
作业输入的OSS Bucket。 |
MNSMessageResult | Object |
MNS通知用户作业完成的消息结果。 |
|
MessageId | String | 123 |
失败时错误信息ID。成功时此参数不返回。 |
ErrorMessage | String | The resource operated "%s" cannot be found. |
失败时错误信息。成功时此参数不返回。 |
ErrorCode | String | InvalidParameter.ResourceNotFound |
失败时错误码。成功时此参数不返回。 |
Success | Boolean | true |
是否成功。可取值:
|
Code | String | InvalidParameter.NullValue |
创建作业失败时错误码。创建成功时此参数不返回。 |
Message | String | The specified parameter "%s" cannot be null. |
创建作业失败时错误消息。创建成功时此参数不返回。 |
RequestId | String | 25818875-5F78-4A45S71F6-D73936451234 |
请求ID。 |
示例
请求示例
http(s)://mts.cn-hangzhou.aliyuncs.com/?Action=SubmitJobs
&Input={"Bucket":"exampleBucket","Location":"oss-cn-hangzhou","Object":"example.flv","Referer": "用户自行在OSS控制台设置的OSS防盗链参数"}
&Outputs=[{"OutputObject":"exampleOutput.mp4","TemplateId":"6181666213ab41b9bc21da8ff5ff****","WaterMarks":[{"InputFile":{"Bucket":"exampleBucket","Location":"oss-cn-hangzhou","Object":"image_01.png"},"WaterMarkTemplateId":"9b772ce2740d4d55876d8b542d47****"}],"UserData":"testid-001"}]
&OutputBucket=exampleBucket
&OutputLocation=oss-cn-hangzhou
&PipelineId=dd3dae411e704030b921e52698e5****
&<公共请求参数>
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<SubmitJobsResponse>
<JobResultList>
<Job>
<CreationTime>2014-01-10T12:00:00Z</CreationTime>
<Percent>100</Percent>
<FinishTime>2014-01-10T12:20:00Z</FinishTime>
<State>Submitted</State>
<JobId>31fa3c9ca8134f9cec2b4b0b0f78****</JobId>
<Code>InternalError</Code>
<Message>The operation has failed due to some unknown error, exception or failure.</Message>
<Output>
<Video>
<Bufsize>1000</Bufsize>
<Degrain>5</Degrain>
<BitrateBnd>
<Max>20</Max>
<Min>10</Min>
</BitrateBnd>
<PixFmt>yuvj420p</PixFmt>
<Pad>1280:800:0:140</Pad>
<Codec>H.264</Codec>
<Height>1280</Height>
<Qscale>15</Qscale>
<Crop>1280:800:0:140</Crop>
<Bitrate>10</Bitrate>
<Maxrate>10</Maxrate>
<MaxFps>15</MaxFps>
<Profile>baseline</Profile>
<Crf>22</Crf>
<Gop>1</Gop>
<Width>1080</Width>
<Fps>60</Fps>
<Preset>veryfast</Preset>
<ScanMode>interlaced</ScanMode>
<ResoPriority>1</ResoPriority>
</Video>
<TransConfig>
<IsCheckAudioBitrate>false</IsCheckAudioBitrate>
<TransMode>onepass</TransMode>
<IsCheckReso>false</IsCheckReso>
<IsCheckVideoBitrateFail>true</IsCheckVideoBitrateFail>
<AdjDarMethod>crop</AdjDarMethod>
<IsCheckVideoBitrate>false</IsCheckVideoBitrate>
<IsCheckResoFail>false</IsCheckResoFail>
<IsCheckAudioBitrateFail>true</IsCheckAudioBitrateFail>
</TransConfig>
<Encryption>
<Type>hls-aes-128</Type>
<Key>encryptionkey128</Key>
<KeyType>Base64</KeyType>
<Id>31fa3c9ca8134f9cec2b4b0b0f78****</Id>
<KeyUri>https://1161758785*****.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/HLS-decyptServer/decyptServer/</KeyUri>
<SkipCnt>3</SkipCnt>
</Encryption>
<WaterMarkList>
<Type>Image</Type>
<ReferPos>TopRight</ReferPos>
<Dx>1</Dx>
<Width>1080</Width>
<Height>1280</Height>
<InputFile>
<Object>example-logo-****.png</Object>
<Location>oss-cn-hangzhou</Location>
<Bucket>example-bucket</Bucket>
</InputFile>
<WaterMarkTemplateId>88c6ca184c0e47098a5b665e2a12****</WaterMarkTemplateId>
<Dy>1</Dy>
</WaterMarkList>
<WaterMarkConfigUrl>http://example.com/configure</WaterMarkConfigUrl>
<DeWatermark>{"0": [{"l": 10,"t": 10,"w": 10,"h": 10},{"l": 100,"t": 0.1,"w": 10,"h": 10}],"128000": [],"250000": [{"l": 0.2,"t": 0.1,"w": 0.01,"h": 0.05}]}</DeWatermark>
<M3U8NonStandardSupport>
<TS>
<SizeSupport>true</SizeSupport>
<Md5Support>true</Md5Support>
</TS>
</M3U8NonStandardSupport>
<Priority>5</Priority>
<Audio>
<Profile>aac_low</Profile>
<Codec>aac</Codec>
<Samplerate>32000</Samplerate>
<Qscale>15</Qscale>
<Channels>6</Channels>
<Volume>
<Method>auto</Method>
<Level>-20</Level>
</Volume>
<Bitrate>128</Bitrate>
</Audio>
<AudioStreamMap>0:a:0</AudioStreamMap>
<MergeList>
<Start>00000.50</Start>
<RoleArn>acs:ram::<your uid>:role/<your role name></RoleArn>
<MergeURL>http://example-bucket-****.oss-cn-hangzhou.aliyuncs.com/example-object-****.flv</MergeURL>
<Duration>00000.20</Duration>
</MergeList>
<SuperReso>
<IsHalfSample>true</IsHalfSample>
</SuperReso>
<UserData>example data</UserData>
<OutSubtitleList>
<Map>0:v:0</Map>
<OutSubtitleFile>
<RoleArn>acs:ram::<your uid>:role/<your role name></RoleArn>
<Object>example-output.flv</Object>
<Location>oss-cn-hangzhou</Location>
<Bucket>example-bucket-****</Bucket>
</OutSubtitleFile>
<Success>true</Success>
<Message>The specified parameter “%s” cannot be null.</Message>
</OutSubtitleList>
<DigiWaterMark>
<Type>Image</Type>
<Alpha>1.0</Alpha>
<InputFile>
<Object>example-intput.flv</Object>
<Location>oss-cn-hangzhou</Location>
<Bucket>example-bucket-****</Bucket>
</InputFile>
</DigiWaterMark>
<VideoStreamMap>0:a:0</VideoStreamMap>
<OutputFile>
<RoleArn>acs:ram::<your uid>:role/<your role name></RoleArn>
<Object>example-output.flv</Object>
<Location>oss-cn-hangzhou</Location>
<Bucket>example-bucket-****</Bucket>
</OutputFile>
<AmixList>
<Map>0:a:0</Map>
<Start>0</Start>
<AmixURL>https://outpu***.oss-cn-shanghai.aliyuncs.com/mp4-to-mp3%5E1571025263578816%40.mp3</AmixURL>
<Duration>20</Duration>
<MixDurMode>long</MixDurMode>
</AmixList>
<Rotate>180</Rotate>
<Container>
<Format>flv</Format>
</Container>
<Clip>
<TimeSpan>
<Seek>01:59:59.999</Seek>
<Duration>01:00:59.999</Duration>
</TimeSpan>
</Clip>
<MergeConfigUrl>`{"MergeList":[{"MergeURL":"http://exampleBucket****.oss-cn-hangzhou.aliyuncs.com/video_01.mp4"}]}</MergeConfigUrl>
<OpeningList>
<openUrl>http://example-bucket-****.oss-cn-hangzhou.aliyuncs.com/opening_01.flv</openUrl>
<Start>1</Start>
<Width>1920</Width>
<Height>1080</Height>
</OpeningList>
<MuxConfig>
<Webp>
<Loop>0</Loop>
</Webp>
<Gif>
<FinalDelay>0</FinalDelay>
<DitherMode>bayer</DitherMode>
<Loop>0</Loop>
<IsCustomPalette>false</IsCustomPalette>
</Gif>
<Segment>
<Duration>20</Duration>
</Segment>
</MuxConfig>
<TailSlateList>
<Start>1</Start>
<BgColor>White</BgColor>
<IsMergeAudio>false</IsMergeAudio>
<Width>1920</Width>
<Height>1080</Height>
<BlendDuration>2</BlendDuration>
<TailUrl>http://example-bucket-****.oss-cn-hangzhou.aliyuncs.com/opening_01.flv</TailUrl>
</TailSlateList>
<TemplateId>S00000000-000010</TemplateId>
<SubtitleConfig>
<ExtSubtitleList>
<CharEnc>UTF-8</CharEnc>
<FontName>"WenQuanYi Zen Hei", "Yuanti SC Regular", "SimSun"</FontName>
<Input>
<Object>example-output.flv</Object>
<Location>oss-cn-hangzhou</Location>
<Bucket>example-bucket-****</Bucket>
</Input>
</ExtSubtitleList>
<SubtitleList>
<Map>0:a:0</Map>
</SubtitleList>
</SubtitleConfig>
<Properties>
<Width>1280</Width>
<Height>720</Height>
<Duration>55</Duration>
<Fps>25</Fps>
<Bitrate>1000</Bitrate>
<FileFormat>QuickTime / MOV</FileFormat>
<Streams>
<VideoStreamList>
<Index>0</Index>
<Timebase>1/24000</Timebase>
<AvgFPS>23.976025</AvgFPS>
<PixFmt>yuv420p</PixFmt>
<Sar>1:1</Sar>
<Lang>eng</Lang>
<CodecLongName>H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10</CodecLongName>
<Height>720</Height>
<NumFrames>25</NumFrames>
<Bitrate>1496.46</Bitrate>
<CodecTagString>avc1</CodecTagString>
<HasBFrames>2</HasBFrames>
<Profile>high</Profile>
<StartTime>0.000000</StartTime>
<NetworkCost>
<PreloadTime>8</PreloadTime>
<AvgBitrate>100</AvgBitrate>
<CostBandwidth>10</CostBandwidth>
</NetworkCost>
<Dar>16:9</Dar>
<CodecName>h264</CodecName>
<Width>1280</Width>
<Duration>17.225542</Duration>
<Fps>23.976025</Fps>
<CodecTag>0x31637661</CodecTag>
<CodecTimeBase>1001/48000</CodecTimeBase>
<Level>51</Level>
</VideoStreamList>
<AudioStreamList>
<Timebase>1/44100</Timebase>
<Index>1</Index>
<SampleFmt>fltp</SampleFmt>
<ChannelLayout>stereo</ChannelLayout>
<Lang>eng</Lang>
<Samplerate>44100</Samplerate>
<CodecLongName>AAC (Advanced Audio Coding)</CodecLongName>
<Channels>2</Channels>
<NumFrames>25</NumFrames>
<Bitrate>128.806</Bitrate>
<CodecTagString>mp4a</CodecTagString>
<StartTime>0.000000</StartTime>
<CodecName>aac</CodecName>
<Duration>17.159546</Duration>
<CodecTag>0x6134706d</CodecTag>
<CodecTimeBase>1/44100</CodecTimeBase>
</AudioStreamList>
<SubtitleStreamList>
<Index>1</Index>
<Lang>eng</Lang>
</SubtitleStreamList>
</Streams>
<Format>
<StartTime>0.000000</StartTime>
<NumPrograms>0</NumPrograms>
<Size>3509895</Size>
<NumStreams>2</NumStreams>
<FormatLongName>QuickTime / MOV</FormatLongName>
<Duration>55</Duration>
<Bitrate>1000</Bitrate>
<FormatName>mov</FormatName>
</Format>
<FileSize>3509895</FileSize>
</Properties>
</Output>
<PipelineId>88c6ca184c0e47098a5b665e2a126797</PipelineId>
<Input>
<Object>example.flv</Object>
<Location>oss-cn-hangzhou</Location>
<Bucket>example-bucket-****</Bucket>
</Input>
<MNSMessageResult>
<MessageId>123</MessageId>
<ErrorMessage>The resource operated "%s" cannot be found.</ErrorMessage>
<ErrorCode>InvalidParameter.ResourceNotFound</ErrorCode>
</MNSMessageResult>
</Job>
<Success>true</Success>
<Code>InvalidParameter.NullValue</Code>
<Message>The specified parameter "%s" cannot be null.</Message>
</JobResultList>
<RequestId>25818875-5F78-4A45S71F6-D73936451234</RequestId>
</SubmitJobsResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"JobResultList" : [ {
"Job" : {
"CreationTime" : "2014-01-10T12:00:00Z",
"Percent" : 100,
"FinishTime" : "2014-01-10T12:20:00Z",
"State" : "Submitted",
"JobId" : "31fa3c9ca8134f9cec2b4b0b0f78****",
"Code" : "InternalError",
"Message" : "The operation has failed due to some unknown error, exception or failure.",
"Output" : {
"Video" : {
"Bufsize" : "1000",
"Degrain" : "5",
"BitrateBnd" : {
"Max" : "20",
"Min" : "10"
},
"PixFmt" : "yuvj420p",
"Pad" : "1280:800:0:140",
"Codec" : "H.264",
"Height" : "1280",
"Qscale" : "15",
"Crop" : "1280:800:0:140",
"Bitrate" : "10",
"Maxrate" : "10",
"MaxFps" : "15",
"Profile" : "baseline",
"Crf" : "22",
"Gop" : "1",
"Width" : "1080",
"Fps" : "60",
"Preset" : "veryfast",
"ScanMode" : "interlaced",
"ResoPriority" : "1"
},
"TransConfig" : {
"IsCheckAudioBitrate" : "false",
"TransMode" : "onepass",
"IsCheckReso" : "false",
"IsCheckVideoBitrateFail" : "true",
"AdjDarMethod" : "crop",
"IsCheckVideoBitrate" : "false",
"IsCheckResoFail" : "false",
"IsCheckAudioBitrateFail" : "true"
},
"Encryption" : {
"Type" : "hls-aes-128",
"Key" : "encryptionkey128",
"KeyType" : "Base64",
"Id" : "31fa3c9ca8134f9cec2b4b0b0f78****",
"KeyUri" : "https://1161758785*****.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/HLS-decyptServer/decyptServer/",
"SkipCnt" : "3"
},
"WaterMarkList" : [ {
"Type" : "Image",
"ReferPos" : "TopRight",
"Dx" : "1",
"Width" : "1080",
"Height" : "1280",
"InputFile" : {
"Object" : "example-logo-****.png",
"Location" : "oss-cn-hangzhou",
"Bucket" : "example-bucket"
},
"WaterMarkTemplateId" : "88c6ca184c0e47098a5b665e2a12****",
"Dy" : "1"
} ],
"WaterMarkConfigUrl" : "http://example.com/configure",
"DeWatermark" : "{\"0\": [{\"l\": 10,\"t\": 10,\"w\": 10,\"h\": 10},{\"l\": 100,\"t\": 0.1,\"w\": 10,\"h\": 10}],\"128000\": [],\"250000\": [{\"l\": 0.2,\"t\": 0.1,\"w\": 0.01,\"h\": 0.05}]}",
"M3U8NonStandardSupport" : {
"TS" : {
"SizeSupport" : true,
"Md5Support" : true
}
},
"Priority" : "5",
"Audio" : {
"Profile" : "aac_low",
"Codec" : "aac",
"Samplerate" : "32000",
"Qscale" : "15",
"Channels" : "6",
"Volume" : {
"Method" : "auto",
"Level" : "-20"
},
"Bitrate" : "128"
},
"AudioStreamMap" : "0:a:0",
"MergeList" : [ {
"Start" : "00000.50",
"RoleArn" : "acs:ram::<your uid>:role/<your role name>",
"MergeURL" : "http://example-bucket-****.oss-cn-hangzhou.aliyuncs.com/example-object-****.flv",
"Duration" : "00000.20"
} ],
"SuperReso" : {
"IsHalfSample" : "true"
},
"UserData" : "example data",
"OutSubtitleList" : [ {
"Map" : "0:v:0",
"OutSubtitleFile" : {
"RoleArn" : "acs:ram::<your uid>:role/<your role name>",
"Object" : "example-output.flv",
"Location" : "oss-cn-hangzhou",
"Bucket" : "example-bucket-****"
},
"Success" : true,
"Message" : "The specified parameter “%s” cannot be null."
} ],
"DigiWaterMark" : {
"Type" : "Image",
"Alpha" : "1.0",
"InputFile" : {
"Object" : "example-intput.flv",
"Location" : "oss-cn-hangzhou",
"Bucket" : "example-bucket-****"
}
},
"VideoStreamMap" : "0:a:0",
"OutputFile" : {
"RoleArn" : "acs:ram::<your uid>:role/<your role name>",
"Object" : "example-output.flv",
"Location" : "oss-cn-hangzhou",
"Bucket" : "example-bucket-****"
},
"AmixList" : [ {
"Map" : "0:a:0",
"Start" : "0",
"AmixURL" : "https://outpu***.oss-cn-shanghai.aliyuncs.com/mp4-to-mp3%5E1571025263578816%40.mp3",
"Duration" : "20",
"MixDurMode" : "long"
} ],
"Rotate" : "180",
"Container" : {
"Format" : "flv"
},
"Clip" : {
"TimeSpan" : {
"Seek" : "01:59:59.999",
"Duration" : "01:00:59.999"
}
},
"MergeConfigUrl" : "`{\"MergeList\":[{\"MergeURL\":\"http://exampleBucket****.oss-cn-hangzhou.aliyuncs.com/video_01.mp4\"}]}",
"OpeningList" : [ {
"openUrl" : "http://example-bucket-****.oss-cn-hangzhou.aliyuncs.com/opening_01.flv",
"Start" : "1",
"Width" : "1920",
"Height" : "1080"
} ],
"MuxConfig" : {
"Webp" : {
"Loop" : "0"
},
"Gif" : {
"FinalDelay" : "0",
"DitherMode" : "bayer",
"Loop" : "0",
"IsCustomPalette" : "false"
},
"Segment" : {
"Duration" : "20"
}
},
"TailSlateList" : [ {
"Start" : "1",
"BgColor" : "White",
"IsMergeAudio" : false,
"Width" : "1920",
"Height" : "1080",
"BlendDuration" : "2",
"TailUrl" : "http://example-bucket-****.oss-cn-hangzhou.aliyuncs.com/opening_01.flv"
} ],
"TemplateId" : "S00000000-000010",
"SubtitleConfig" : {
"ExtSubtitleList" : [ {
"CharEnc" : "UTF-8",
"FontName" : "\"WenQuanYi Zen Hei\", \"Yuanti SC Regular\", \"SimSun\"",
"Input" : {
"Object" : "example-output.flv",
"Location" : "oss-cn-hangzhou",
"Bucket" : "example-bucket-****"
}
} ],
"SubtitleList" : [ {
"Map" : "0:a:0"
} ]
},
"Properties" : {
"Width" : "1280",
"Height" : "720",
"Duration" : "55",
"Fps" : "25",
"Bitrate" : "1000",
"FileFormat" : "QuickTime / MOV",
"Streams" : {
"VideoStreamList" : [ {
"Index" : "0",
"Timebase" : "1/24000",
"AvgFPS" : "23.976025",
"PixFmt" : "yuv420p",
"Sar" : "1:1",
"Lang" : "eng",
"CodecLongName" : "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
"Height" : "720",
"NumFrames" : "25",
"Bitrate" : "1496.46",
"CodecTagString" : "avc1",
"HasBFrames" : "2",
"Profile" : "high",
"StartTime" : "0.000000",
"NetworkCost" : {
"PreloadTime" : "8",
"AvgBitrate" : "100",
"CostBandwidth" : "10"
},
"Dar" : "16:9",
"CodecName" : "h264",
"Width" : "1280",
"Duration" : "17.225542",
"Fps" : "23.976025",
"CodecTag" : "0x31637661",
"CodecTimeBase" : "1001/48000",
"Level" : "51"
} ],
"AudioStreamList" : [ {
"Timebase" : "1/44100",
"Index" : "1",
"SampleFmt" : "fltp",
"ChannelLayout" : "stereo",
"Lang" : "eng",
"Samplerate" : "44100",
"CodecLongName" : "AAC (Advanced Audio Coding)",
"Channels" : "2",
"NumFrames" : "25",
"Bitrate" : "128.806",
"CodecTagString" : "mp4a",
"StartTime" : "0.000000",
"CodecName" : "aac",
"Duration" : "17.159546",
"CodecTag" : "0x6134706d",
"CodecTimeBase" : "1/44100"
} ],
"SubtitleStreamList" : [ {
"Index" : "1",
"Lang" : "eng"
} ]
},
"Format" : {
"StartTime" : "0.000000",
"NumPrograms" : "0",
"Size" : "3509895",
"NumStreams" : "2",
"FormatLongName" : "QuickTime / MOV",
"Duration" : "55",
"Bitrate" : "1000",
"FormatName" : "mov"
},
"FileSize" : "3509895"
}
},
"PipelineId" : "88c6ca184c0e47098a5b665e2a126797",
"Input" : {
"Object" : "example.flv",
"Location" : "oss-cn-hangzhou",
"Bucket" : "example-bucket-****"
},
"MNSMessageResult" : {
"MessageId" : "123",
"ErrorMessage" : "The resource operated \"%s\" cannot be found.",
"ErrorCode" : "InvalidParameter.ResourceNotFound"
}
},
"Success" : true,
"Code" : "InvalidParameter.NullValue",
"Message" : "The specified parameter \"%s\" cannot be null."
} ],
"RequestId" : "25818875-5F78-4A45S71F6-D73936451234"
}
错误码
访问错误中心查看更多错误码。