用户可以调用SubmitTranscodeJob接口,指定需要转码的源文件、输出格式以及相关参数,并提交视频或音频文件的转码任务到智能媒体服务。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
ice:SubmitTranscodeJob |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
Name | string | 否 | 任务名字。 | job-name |
InputGroup | array<object> | 是 | 任务输入组。单个输入为转码任务。多个输入为音视频合流任务。 | job-name |
InputGroup | object | 是 | 任务输入。 | |
Type | string | 是 | 媒体对象类型。 取值:
| OSS |
Media | string | 是 | 媒体值:
说明
URL 中的 OSS bucket 需要先添加到 IMS存储管理后再使用。
| oss://bucket/path/to/video.mp4 |
InputUrl | string | 否 | 输入流路径:
| oss://bucket/path/to/video.mp4 |
OutputGroup | array<object> | 是 | 任务输出组。 | user-data |
OutputGroup | object | 是 | 任务输出。 | |
Output | object | 是 | 输出媒体配置。 | |
Type | string | 是 | 媒体对象类型。 取值:
| OSS |
Media | string | 是 | 媒体值:
说明
URL 中的 OSS bucket 需要先添加到 IMS存储管理后再使用。
| oss://bucket/path/to/video.mp4 |
OutputUrl | string | 否 | 输出流路径:
| oss://bucket/path/to/{MediaId}/{JobId}.mp4 |
ProcessConfig | object | 是 | 任务处理配置。 | |
Transcode | object | 是 | 转码配置。 | |
TemplateId | string | 是 | 模板 ID。 | 9547c6ad97cb4f2aaa29683ebd18d410 |
OverwriteParams | object | 否 | 覆盖参数, 若填写会覆盖模板对应参数。 | |
Video | object | 否 | video 设置。 | |
Codec | string | 否 | 编码格式。 | H.264 |
Profile | string | 否 | 编码级别。 支持 baseline、main、high。
默认值:high。 | Main |
Bitrate | string | 否 | 视频平均码率,取值范围:[10,50000],单位:Kbps。 | 3000 |
Crf | string | 否 | 码率-质量控制因子,取值范围:[0,51]。默认值:编码格式为 H264,默认值为 23;编码格式为 H265,默认值为 26。 说明
如果设置了 Crf,则 Bitrate 的设置失效。
| 23 |
Width | string | 否 | 宽,取值范围:[128,4096],单位:px,默认值:视频原始宽度。 | 1920 |
Height | string | 否 | 高,取值范围:[128,4096],单位:px,默认值:视频原始高度。 | 1080 |
Fps | string | 否 | 帧率,取值范围:(0,60],默认值:取输入文件帧率。 说明
当输入文件帧率超过 60 时取 60。
| 25 |
Gop | string | 否 | 关键帧间最大帧数,取值范围:[1,1080000],默认值:250。 | 250 |
Preset | string | 否 | 视频算法器预置。只有 H264 支持该参数。 支持 veryfast、fast、medium、slow、slower。 默认值:medium。 | medium |
ScanMode | string | 否 | 扫描模式。 支持 interlaced、progressive。 | progressive |
PixFmt | string | 否 | 视频颜色格式。 范围:yuv420p,yuvj420p 等标准颜色格式。 | yuv420p |
Remove | string | 否 | 是否去掉视频。 | false |
Crop | string | 否 | 视频画面裁切支持 2 种方式。
| 1280:800:0:140 |
Pad | string | 否 | 视频贴黑边参数,格式:width:height:left:top,示例:1280:800:0:140 | 1280:800:0:140 |
LongShortMode | string | 否 | 是否开启横竖屏自适应(即:长短边模式) | false |
Bufsize | string | 否 | 缓冲区大小值,范围:[1000,128000],默认值:6000,单位:Kb。 | 6000 |
Maxrate | string | 否 | 视频码率峰值范围[10,50000],单位 Kbps。 | 9000 |
AbrMax | string | 否 | abr 最大码率(只有窄高 1 有效)值范围[10,50000],单位 Kbps。 | 6000 |
Audio | object | 否 | audio 设置。 | |
Codec | string | 否 | 音频编解码格式,AAC、MP3、VORBIS、FLAC。 默认值:AAC。 | AAC |
Profile | string | 否 | 音频编码预置。 当 Codec 为 AAC 时,范围 aac_low、aac_he、aac_he_v2、aac_ld、aac_eld。 | aac_low |
Samplerate | string | 否 | 采样率,默认值:44100,支持 22050、32000、44100、48000、96000,单位:Hz。 | 44100 |
Bitrate | string | 否 | 输出文件的音频码率,值范围:[8,1000],单位:Kbps,默认值:128。 | 128 |
Channels | string | 否 | 声道数。 默认值:2 | 2 |
Remove | string | 否 | 是否删除音频流。 | false |
Volume | object | 否 | 音量控制。 | |
Method | string | 否 | 音量调整方式。 | auto |
IntegratedLoudnessTarget | string | 否 | 目标音量。 | -6 |
TruePeak | string | 否 | 最大峰值。 | -1 |
LoudnessRangeTarget | string | 否 | 音量范围。 | 8 |
Container | object | 否 | 封装格式设置。 | |
Format | string | 否 | 容器格式。 | mp4 |
MuxConfig | object | 否 | 封装设置。 | |
Segment | object | 否 | 切片设置。 | |
Duration | string | 否 | 切片时长。 | 10 |
ForceSegTime | string | 否 | 强制切片时间点。 | 2,3 |
TransConfig | object | 否 | 条件转码参数。 | |
TransMode | string | 否 | 视频转码模式。取值如下:
默认值:onepass。 | onepass |
IsCheckReso | string | 否 | 是否检查视频分辨率。IsCheckReso 和 IsCheckResoFail 只支持二选一,IsCheckResoFail 优先级更高。
默认值:false。 | true |
IsCheckResoFail | string | 否 | 是否检查视频分辨率。IsCheckReso 和 IsCheckResoFail 只支持二选一,本参数优先级更高。
默认值:false。 | true |
IsCheckVideoBitrate | string | 否 | 是否检查视频码率。IsCheckVideoBitrate 和 IsCheckVideoBitrateFail 只支持二选一,IsCheckVideoBitrateFail 优先级更高。
默认值:false。 | true |
IsCheckVideoBitrateFail | string | 否 | 是否检查视频码率。IsCheckVideoBitrate 和 IsCheckVideoBitrateFail 只支持二选一,本参数优先级更高。
默认值:false。 | true |
IsCheckAudioBitrate | string | 否 | 是否检查音频码率。IsCheckAudioBitrate 和 IsCheckAudioBitrateFail 只支持二选一,IsCheckAudioBitrateFail 优先级更高。
默认值:
| true |
IsCheckAudioBitrateFail | string | 否 | 是否检查音频码率。IsCheckAudioBitrate 和 IsCheckAudioBitrateFail 只支持二选一,本参数优先级更高。
默认值:false。 | true |
AdjDarMethod | string | 否 | 分辨率改写方式。当 Width 或 Height 都填写时才生效,可以和 LongShortMode 搭配使用。 可选值:rescale、crop、pad、none。 默认值:none。 | none |
ImageWatermarks | array<object> | 否 | 图片水印配置。 | |
ImageWatermark | object | 否 | 图片水印配置。 | |
TemplateId | string | 是 | 模板 ID。 | 9547c6ad97cb4f2aaa29683ebd18d410 |
OverwriteParams | object | 否 | 覆盖参数, 若填写会覆盖模板对应参数。 | |
Width | string | 否 | 输出视频上水印图片宽。 值有两种形式:
| 32 |
Height | string | 否 | 输出视频上水印图片高。 值有两种形式:
| 32 |
Dx | string | 否 | 水印图片相对输出视频的水平偏移量。 默认值:0 值有两种形式:
| 10 |
Dy | string | 否 | 水印图片相对输出视频的垂直偏移量。 默认值:0 值有两种形式:
| 10 |
ReferPos | string | 否 | 水印的位置。
| TopLeft |
Timeline | object | 否 | 动态水印,显示时间设置。 | |
Start | string | 否 | 水印开始出现时间。
| 00:00:05 |
Duration | string | 否 | 水印持续时间。
| ToEND |
File | object | 否 | 水印图片文件。 | |
Type | string | 否 | 媒体对象类型。 取值:
| OSS |
Media | string | 否 | 媒体值:
| oss://bucket/path/to/video.mp4 |
TextWatermarks | array<object> | 否 | 文字水印配置。 | |
TextWatermark | object | 否 | 文字水印配置。 | |
TemplateId | string | 是 | 模板 ID。 | 9547c6ad97cb4f2aaa29683ebd18d410 |
OverwriteParams | object | 否 | 覆盖参数, 若填写会覆盖模板对应参数。 | |
Content | string | 否 | 水印文本,不需要 base64 encode,字符串需要 utf-8 编码。 | 测试水印 |
FontName | string | 否 | 字体。默认:SimSun。 | SimSun |
FontColor | string | 否 | 颜色。 | #006400 |
FontAlpha | string | 否 | 字体透明度。
| 1.0 |
Top | string | 否 | 文本上边距。
| 10 |
Left | string | 否 | 文本左边距。
| 10 |
FontSize | integer | 否 | 字体大小。
| 16 |
BorderWidth | integer | 否 | 描边宽度。
| 0 |
BorderColor | string | 否 | 描边颜色。 默认:Black 更多取值请参见 BorderColor。 | #006400 |
Adaptive | string | 否 | 根据输出视频大小调整字体 size。 true / false, default: false | false |
Subtitles | array<object> | 否 | 字幕压制配置。 | |
Subtitle | object | 否 | 字幕压制配置。 | |
TemplateId | string | 是 | 模板 ID。 | 9547c6ad97cb4f2aaa29683ebd18d410 |
OverwriteParams | object | 否 | 覆盖参数, 若填写会覆盖模板对应参数。 | |
Format | string | 否 | 字幕文件格式。 | vtt |
CharEnc | string | 否 | 文件 encoding 格式。 | UTF-8 |
File | object | 否 | 字幕文件。 | |
Type | string | 否 | 媒体对象类型。 取值:
| OSS |
Media | string | 否 | 媒体值:
| oss://bucket/path/to/video.mp4 |
Encryption | object | 否 | 加密配置。 | |
EncryptType | string | 否 | 加密类型。取值:
| PrivateEncryption |
CipherText | string | 否 | 标准加密的密钥密文。 | MTYi00NDU0LTg5O**** |
DecryptKeyUri | string | 否 | 标准加密的解密服务地址。 | https://sample.com/path?CipherText=MTYi00NDU0LTg5O**** |
KeyServiceType | string | 否 | 标准加密的密钥服务类型。取值:
| KMS |
CombineConfigs | array<object> | 否 | 多输入合流配置 | |
object | 否 | 合流配置。 | ||
AudioIndex | string | 是 | 音频流 Index | 0 或 exclude |
VideoIndex | string | 是 | 视频流 Index | 0 或 exclude |
Start | double | 否 | 输入流的开始时间。 默认为 0 | 0.0 |
Duration | double | 否 | 输入流的持续时间。 默认为视频时长。 | 20.0 |
UserData | string | 否 | 自定义设置,JSON 格式,长度限制为 512 字节,支持自定义回调地址配置。 | user-data |
ScheduleConfig | object | 否 | 任务调度信息。 | |
PipelineId | string | 否 | 管道 ID。 | e37ebee5d98b4781897f6086e89f9c56 |
Priority | integer | 否 | 任务优先级。数字越大优先级越高,取值范围:1~10 | 5 |
ClientToken | string | 否 | 幂等性校验 Key。保证请求幂等性。 | ****12e8864746a0a398**** |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "31E30781-9495-5E2D-A84D-759B0A01E262",
"TranscodeParentJob": {
"TranscodeJobList": [
{
"CreateTime": "2022-01-12T08:49:41Z",
"Name": "transcode-job",
"ParentJobId": "8b2198504dd340b7b3c9842a74fc9baa",
"JobId": "7d6a7e0d4db2457a8d45ff5d43e1bf0a",
"JobIndex": 0,
"InputGroup": [
{
"Type": "OSS",
"Media": "oss://bucket/path/to/video.mp4",
"InputUrl": "oss://bucket/path/to/video.mp4\n"
}
],
"ProcessConfig": {
"Transcode": {
"TemplateId": "9547c6ad97cb4f2aaa29683ebd18d410",
"OverwriteParams": {
"Video": {
"Codec": "H.264",
"Profile": "Main",
"Bitrate": "3000",
"Crf": "23",
"Width": "1920",
"Height": "1080",
"Fps": "25",
"Gop": "250",
"Preset": "medium",
"ScanMode": "progressive",
"PixFmt": "yuv420p",
"Remove": "false",
"Crop": "1280:800:0:140",
"Pad": "1280:800:0:140",
"LongShortMode": "false",
"Bufsize": "6000",
"Maxrate": "9000",
"AbrMax": "6000"
},
"Audio": {
"Codec": "AAC",
"Profile": "aac_low",
"Samplerate": "44100",
"Bitrate": "128",
"Channels": "2",
"Remove": "false",
"Volume": {
"Method": "auto",
"IntegratedLoudnessTarget": "-6",
"TruePeak": "-1",
"LoudnessRangeTarget": "8"
}
},
"Container": {
"Format": "mp4"
},
"MuxConfig": {
"Segment": {
"Duration": "10",
"ForceSegTime": "2,3"
}
},
"TransConfig": {
"TransMode": "onepass",
"IsCheckReso": "true",
"IsCheckResoFail": "true",
"IsCheckVideoBitrate": "true",
"IsCheckVideoBitrateFail": "true",
"IsCheckAudioBitrate": "true",
"IsCheckAudioBitrateFail": "true",
"AdjDarMethod": "none"
}
}
},
"ImageWatermarks": [
{
"TemplateId": "9547c6ad97cb4f2aaa29683ebd18d410",
"OverwriteParams": {
"Width": "32",
"Height": "32",
"Dx": "10",
"Dy": "10",
"ReferPos": "TopLeft",
"Timeline": {
"Start": "00:00:05",
"Duration": "ToEND"
},
"File": {
"Type": "OSS",
"Media": "oss://bucket/path/to/video.mp4"
}
}
}
],
"TextWatermarks": [
{
"TemplateId": "9547c6ad97cb4f2aaa29683ebd18d410",
"OverwriteParams": {
"Content": "测试水印",
"FontName": "SimSun",
"FontColor": "#006400",
"FontAlpha": "1.0",
"Top": "10",
"Left": "10",
"FontSize": 16,
"BorderWidth": 0,
"BorderColor": "#006400",
"Adaptive": "false"
}
}
],
"Subtitles": [
{
"TemplateId": "9547c6ad97cb4f2aaa29683ebd18d410",
"OverwriteParams": {
"Format": "vtt",
"CharEnc": "UTF-8",
"File": {
"Type": "OSS",
"Media": "oss://bucket/path/to/video.mp4"
}
}
}
],
"Encryption": {
"EncryptType": "PrivateEncryption",
"CipherText": "MTYi00NDU0LTg5O****",
"DecryptKeyUri": "https://sample.com/path?CipherText=MTYi00NDU0LTg5O****",
"KeyServiceType": "KMS"
},
"CombineConfigs": [
{
"AudioIndex": "0 或 exclude",
"VideoIndex": "0 或 exclude",
"Start": 0,
"Duration": 20
}
]
},
"Output": {
"Type": "OSS",
"Media": "oss://bucket/path/to/video.mp4",
"OutputUrl": "oss://bucket/path/to/{MediaId}/{JobId}.mp4\n"
},
"UserData": "user-data",
"ScheduleConfig": {
"PipelineId": "e37ebee5d98b4781897f6086e89f9c56",
"Priority": 5
},
"Status": "Init",
"OutFileMeta": {
"FileBasicInfo": {
"MediaId": "73e07de0f77171eca3fc7035d0b26402",
"FileName": "file.m3u8",
"FileStatus": "Normal",
"FileType": "source_file",
"FileSize": "31737",
"FileUrl": "http://bucket.oss-cn-shanghai.aliyuncs.com/path/to/file.m3u8",
"Region": "cn-shanghai",
"FormatName": "hls,applehttp",
"Duration": "403.039999",
"Bitrate": "888.563",
"Width": "848",
"Height": "478"
},
"AudioStreamInfoList": [
{
"Index": "1",
"CodecName": "aac",
"CodecLongName": "AAC (Advanced Audio Coding)",
"CodecTimeBase": "1/44100",
"CodecTagString": "[15][0][0][0]",
"CodecTag": "0x000f",
"SampleFmt": "fltp",
"SampleRate": "44100",
"Channels": "2",
"ChannelLayout": "stereo",
"Timebase": "1/90000",
"StartTime": "1.473556",
"Duration": "403.039989",
"Bitrate": "0.f",
"Lang": "cn"
}
],
"VideoStreamInfoList": [
{
"Index": "0",
"Codec_name": "h264",
"Codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
"Profile": "High",
"Codec_time_base": "1/50",
"Codec_tag_string": "[27][0][0][0]",
"Codec_tag": "0x001b",
"Width": "848",
"Height": "478",
"Has_b_frames": "2",
"Sar": "478:477",
"Dar": "16:9",
"PixFmt": "yuv420p",
"Level": "31",
"Fps": "25.0",
"Avg_fps": "25.0",
"Time_base": "1/90000",
"Start_time": "1.473556",
"Duration": "403.039989",
"Bit_rate": "888.563",
"NumFrames": "10040",
"Lang": "cn",
"Rotate": "0"
}
]
},
"SubmitResultJson": {},
"SubmitTime": "2022-01-12T08:49:41Z",
"FinishTime": "2022-01-12T08:49:41Z",
"RequestId": "31E30781-9495-5E2D-A84D-759B0A01E262"
}
],
"CreateTime": "2022-01-12T08:49:41Z",
"Name": "transcode-job",
"RequestId": "31E30781-9495-5E2D-A84D-759B0A01E262",
"ParentJobId": "8b2198504dd340b7b3c9842a74fc9baa",
"JobCount": 1,
"Status": "Success",
"TriggerSource": "API",
"Percent": 0,
"SubmitTime": "2022-01-12T08:49:41Z",
"FinishTime": "2022-01-12T08:49:41Z",
"InputGroup": [
{
"Type": "OSS",
"Media": "oss://bucket/path/to/video.mp4"
}
],
"OutputGroup": [
{
"Output": {
"Type": "OSS",
"Media": "oss://bucket/path/to/video.mp4"
},
"ProcessConfig": {
"Transcode": {
"TemplateId": "9547c6ad97cb4f2aaa29683ebd18d410",
"OverwriteParams": {
"Video": {
"Codec": "H.264",
"Profile": "Main",
"Bitrate": "3000",
"Crf": "23",
"Width": "1920",
"Height": "1080",
"Fps": "25",
"Gop": "250",
"Preset": "medium",
"ScanMode": "progressive",
"PixFmt": "yuv420p",
"Remove": "false",
"Crop": "1280:800:0:140",
"Pad": "1280:800:0:140",
"LongShortMode": "false",
"Bufsize": "6000",
"Maxrate": "9000",
"AbrMax": "6000"
},
"Audio": {
"Codec": "AAC",
"Profile": "aac_low",
"Samplerate": "44100",
"Bitrate": "128",
"Channels": "2",
"Remove": "false",
"Volume": {
"Method": "auto",
"IntegratedLoudnessTarget": "-6",
"TruePeak": "-1",
"LoudnessRangeTarget": "8"
}
},
"Container": {
"Format": "mp4"
},
"MuxConfig": {
"Segment": {
"Duration": "10",
"ForceSegTime": "2,3"
}
},
"TransConfig": {
"TransMode": "onepass",
"IsCheckReso": "true",
"IsCheckResoFail": "true",
"IsCheckVideoBitrate": "true",
"IsCheckVideoBitrateFail": "true",
"IsCheckAudioBitrate": "true",
"IsCheckAudioBitrateFail": "true",
"AdjDarMethod": "none"
}
}
},
"ImageWatermarks": [
{
"TemplateId": "9547c6ad97cb4f2aaa29683ebd18d410",
"OverwriteParams": {
"Width": "32",
"Height": "32",
"Dx": "10",
"Dy": "10",
"ReferPos": "TopLeft",
"Timeline": {
"Start": "00:00:05",
"Duration": "ToEND"
},
"File": {
"Type": "OSS",
"Media": "oss://bucket/path/to/video.mp4"
}
}
}
],
"TextWatermarks": [
{
"TemplateId": "9547c6ad97cb4f2aaa29683ebd18d410",
"OverwriteParams": {
"Content": "测试水印",
"FontName": "SimSun",
"FontColor": "#006400",
"FontAlpha": "1.0",
"Top": "10",
"Left": "10",
"FontSize": 16,
"BorderWidth": 0,
"BorderColor": "#006400",
"Adaptive": "false"
}
}
],
"Subtitles": [
{
"TemplateId": "9547c6ad97cb4f2aaa29683ebd18d410",
"OverwriteParams": {
"Format": "vtt",
"CharEnc": "UTF-8",
"File": {
"Type": "OSS",
"Media": "oss://bucket/path/to/video.mp4"
}
}
}
],
"Encryption": {
"EncryptType": "PrivateEncryption",
"CipherText": "MTYi00NDU0LTg5O****",
"DecryptKeyUri": "https://sample.com/path?CipherText=MTYi00NDU0LTg5O****",
"KeyServiceType": "KMS"
},
"CombineConfigs": [
{
"AudioIndex": "0 或 exclude",
"VideoIndex": "0 或 exclude",
"Start": 0,
"Duration": 20
}
]
}
}
],
"UserData": "user-data",
"ScheduleConfig": {
"PipelineId": "e37ebee5d98b4781897f6086e89f9c56",
"Priority": 5
}
}
}
错误码
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2023-11-07 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-10-18 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-10-10 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-06-06 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-05-18 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2022-09-20 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2022-08-10 | API 内部配置变更,不影响调用 | 查看变更详情 |
2022-07-11 | 新增 OpenAPI | 查看变更详情 |