首页 智能媒体管理 旧版API参考(2017-09-06) API目录 视频管理 视频异步任务 CreateVideoCompressTask - 创建一个视频压缩存储的任务

CreateVideoCompressTask - 创建一个视频压缩存储的任务

调用CreateVideoCompressTask接口创建一个视频压缩存储任务,执行完成后返回TaskId。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

当前API暂无授权信息透出。

请求参数

名称类型必填描述示例值
Projectstring

项目名称。

immvideotest
VideoUristring

视频的OSS URI。

OSS地址规则为oss://bucket/object,其中bucket为和当前项目处于同一地域的OSS Bucket名称,object为文件路径。

oss://imm-test/testcases/video.mp4
NotifyTopicNamestring

异步反向通知的TopicName。

topic1
NotifyEndpointstring

异步反向通知的Endpoint,任务执行状态可以通过该Endpoint异步通知给调用者。使用此功能需要先开通MNS服务,新建topic和queue,并配置订阅关系。具体操作,请参见消息服务MNS快速入门

说明MNS服务和智能媒体管理必须处于同一地域。
http://1111111111.mns.cn-beijing.aliyuncs.com
TargetListstring

压缩后的视频列表。支持对同一视频同时压缩多份不同格式结果。更多信息,请参见TargetList参数说明。

[{"AudioBitrate":"64k","VideoBitrate":"128k","TargetUri":"oss://imm-test/testcases/example.m3u8"}]
CustomMessagestring

用户自定义的信息。在MNS通知任务执行状态时,内容会原样返回。

CompressTaskTest
TargetSegmentstring

分段转码。当前版本不支持此参数。

[]
TargetSubtitlestring

提取视频中的字幕。更多信息,请参见TargeSubtitle参数说明。

{"ExtractFormat":ass,"SubtitleUri":"oss://imm-test/testcases","ExtractType":[]}

TargetList参数说明

名称类型是否必选示例值描述
TargetUriStringoss://imm-test/testcases/example.m3u8输出文件的OSS URI。
OSS地址规则为oss://bucket/object,其中bucket为和当前项目处于同一地域的OSS Bucket名称,object为文件路径。
AudioBitrateString128k音频码率,单位为比特每秒(bit/s)。可选值包括64k、128k、192k、256k和320k。
AllowIncreaseAudioBitrateBooleanfalse是否允许输出文件比特率高于原视频比特率。取值范围如下:
- true(默认):是。
- false:否。
AudioQualityInteger1音频质量,仅当音频格式为mp3和aac时才有效。AudioQuality参数和AudioBitrate参数只能存在一个。
- 当音频格式为mp3时,取值范围为0~9,值越小质量越高。
- 当音频格式为aac时,取值范围为10-500,值越大质量越高。
AudioSampleRateInteger44100音频采样频率,单位为赫兹(Hz)。常用采样频率包括8000、12050、22050、44100等。如果不设置此参数,则保持原有采样频率。
AllowIncreaseAudioSampleRateBooleanfalse是否允许输出文件帧率高于原视频。取值范围如下:
- true(默认):是。
- false:否。
VideoFrameRateInteger25视频帧率,不设置则保持原值。
AllowIncreaseVideoFrameRateBooleanfalse是否允许输出文件帧率高于原视频。取值范围如下:
- true(默认):是。
- false:否。
VideoBitrateString1500k视频比特率,单位为比特每秒(bit/s)。常用视频比特率包括128k、1.25m、5m等。
AllowIncreaseVideoBitrateBooleanfalse是否允许输出文件比特率高于原视频。取值范围如下:
- true(默认):是。
- false:否。
VideoCodecStringlib×264视频编码方案,可选值包括lib×264、libvpx、libtheora、libxvid和copy。
PixelFormatStringyuv420p像素格式,指定图像中每个像素的颜色数据的格式。可选值包括yuv420p、yuv422p、yuvj422p、yuv444p、yuvj444p、yuv420p10le、yuv422p10le、yuv444p10le。
AudioCodecStringlibfdk_aac音频编码方案,可选值包括libmp3lame、libvorbis、libfdk_aac、opus和copy。
SeekStartTimeInteger1指定视频截取的开始时间,单位为秒。
DurationInteger15指定视频截取的长度,单位为秒。
VideoResolutionString640x480指定视频分辨率,格式为宽x高。例如640x480。
AllowIncreaseVideoResolutionBooleanfalse是否允许输出文件分辨率高于原视频。取值范围如下:
- true(默认):是。
- false:否。
AdaptVideoResolutionDirectionBooleanfalse自适应分辨率方向。取值范围如下:
- true(默认):是。
- false:否。
VideoRotationInteger90指定顺时针旋转的度数,可选值包括90、180和270,默认为自动旋转。
DisableAudioBooleanfalse是否禁用音频流。
- true:是。
- false(默认):否。
DisableVideoBooleantrue是否禁用视频流。
- true:是。
- false(默认):否。
VideoProfileStringbaseline设置视频的profile等级,可选值包括baseline、main和high。
AudioChannelInteger2声道数。取值范围如下:
- 1:单声道。
- 2:立体声。
HLSTimeString10HLS格式的切片大小,单位为秒。当输出文件为m3u8格式时,必须设置此参数。
HLSIniTimeint6410视频段开始时间,单位为秒。
WatermarksString[{"Type":Text,"DX":0,"Content":example,"FontSize":16,"FileUri":oss://imm-test/testcases/水印.PNG}]水印列表。更多信息,请参见水印列表参数说明。
VideoCRFInteger20指定恒定质量模式。
当视频编码器为lib×264时才有效。取值范围为0~51,数值越大画质越差,建议取值[18,28]。
VideoMaxBitrateString1000k动态码率下限定最大码率,例如1000k。该参数需要和VideCRF参数一起使用才有效。使用该参数时,必须指定VideoBufferSize参数。
SpeedFloat1.0加速或减速,范围[0.5,2]。
ScaleTypeStringSTRETCH缩放方式,取值范围如下:
- CROP:缩放并裁剪。
- STRETCH(默认):拉伸以填满。
- FILL:缩放并保留黑边。
- FIT:缩放并不保留黑边。
DelogosString[{"Dx":0,"Dy":0,"ReferPos":TopLeft}]对视频上某矩形部分进行模糊,用于去除Logo、台标等。
SubTitlesString[{"FileUri":oss://imm-test/testcases/example.ass}]添加字幕。包括如下选项:
- FileUri(可选):字母文件的OSS URI。支持SRT、ASS等格式。类型为String。
- Lang(可选):语言。请参考ISO-639-2语言定义。类型为String。
EncryptionBooleanfalse是否对视频加密,当前只支持每个target加密。
- true:是。
- false(默认):否。
SegmentDurationint6415目标视频段时长。单位为秒。

TargetSubtitle参数说明

名称类型是否必选示例值描述
ExtractFormatStringass提取出字幕的格式,支持srt、ass、vtt三种格式。
SubtitleUriStringoss://imm-test/testcases输出文件夹的OSS URI。
- 如果提取字幕的方式为流序号提取,则输出格式为:Fileprefix值Index字幕流序号.字幕格式。
- 如果提取字幕的方式为language的KEY值,则输出格式为:Fileprefix值KEY值该KEY值下视频的序号.字幕格式。
ExtractypeString[]提取字幕的方式。提取方式有如下三种形式:
- [](默认):提取所有字幕,按照KEY值得输出方式输出。
- 数字:提取对应字幕流序号的字幕。
- language的KEY值:提取对应视频中,KEY值得字幕流。
FilePrefixStringmedia-a输出文件的文件名前缀。默认为空。

Delogos参数说明

名称类型是否必选示例值描述
DxFloat0默认值为0。值有两种形式:
- 整数型代表偏移像素,单位px,取值范围为[1,4096]。
- 小数型代表垂直偏移量与输出分辨率高的比率,取值范围为(0,1)。
DyFloat0默认值为0。值有两种形式:
- 整数型代表偏移像素,单位px,取值范围为[1,4096]。
- 小数型代表垂直偏移量与输出分辨率高的比率,取值范围为(0,1)。
WidthFloat2去除Logo宽度。值有两种形式:
- 整数型代表去除Logo宽度的像素值,单位px,取值范围为(1,4096]。
- 小数型代表相对输出视频分辨率宽度的比率,取值范围为(0,1)。
HeightFloat2去除Logo高度。值有两种形式:
- 整数型代表去除Logo高度的像素值,单位px,取值范围为(1,4096]。
- 小数型代表相对输出视频分辨率高度的比率,取值范围为(0,1)。
StarInteger0去除Logo开始时间,默认值为0,0表示从头开始,单位为秒。
DurationInteger0去除Logo持续时间,默认值为0,0表示持续到视频结束,单位为秒。
ReferPosStringTopLeft去除Logo的位置。取值范围为TipRight、TopLeft、BottomRight和BottomLeft,默认值为TopLeft。

Watermarks参数说明

名称类型是否必选示例值描述
TypeStringText类型包括Text和File。Text为文字水印。File为png、mov水印。
DxFloat0默认值为0。值有两种形式:
- 整数型代表偏移像素,单位px,取值范围为[1,4096]。
- 小数型代表垂直偏移量与输出分辨率高的比率,取值范围为(0,1)。
DyFloat0默认值为0。值有两种形式:
- 整数型代表偏移像素,单位px,取值范围为[1,4096]。
- 小数型代表垂直偏移量与输出分辨率高的比率,取值范围为(0,1)。
StatIntegur0水印开始时间,默认值为0,0表示从头开始,单位为秒。
DurationInteger0去水印持续时间,默认值为0,表示持续到视频结束,单位为秒。
ReferPosStringTopLeft水印的位置。取值范围包括TopRight、TopLeft、BottomRight和BottomLeft,默认值为TopLeft。
ContentStringexample文字水印内容。当设置Type为Text时有效。
FontNameStringSourceHanSans-Regular字体名称。当设置Type为Text时有效。支持的字体列表如下:
- SourceHanSans-Regular
- SourceHanSans-Bold
- SourceHanSerif-Regular
- SourceHanSerif-Bold
FontSizeInteger16字体大小。默认值为16。范围为(4,120)。当设置Type为Text时有效。
FontColorString#000000字体颜色。#RRGGBB格式。默认值为#000000。当设置Type为Text时有效。
FontAphaFloat1.0字体透明度。取值范围为(0,1),默认值为1.0。当设置Type为Text时有效。
BorderWidthInteger1描边宽度。默认值为0,取值范围为[0,4096]。当设置Type为Text时有效。
BorderColorString#000000描边颜色。#RRGGBB格式。默认值为#000000。当设置Type为Text时有效。
FileUriStringoss://imm-test/testcases/水印.PNG水印文件的OSS URI。支持PNG和MOV格式。当设置Type为Text时有效。
WidthFloat2水印图片宽度,值有两种形式:
- 整数型代表去除Logo宽度的像素值,单位为px,取值范围为(1,4096]。
- 小数型代表相对输出视频分辨率宽度的比率,取值范围为(0,1)。
HeightFloat2水印图片高度,值有两种形式:
- 整数型代表去除Logo高度的像素值,单位为px,取值范围为(1,4096]。
- 小数型代表相对输出视频分辨率高度的比率,取值范围为(0,1)。

水印宽度和高度参数设置说明:

  • 宽度和高度均未设置时,水印宽度取输出视频分辨率宽度的0.12倍,水印高度按水印原图宽高比例等比缩放。

  • 宽度或高度只设置一边,另一边未设置时,则另一边按水印原图宽高比等比缩放。

  • 宽度和高度两边均设置时,按实际设置值设置水印图片。

水印位置说明: 水印的位置说明.png

返回参数

名称类型描述示例值
object
TaskIdstring

任务ID。

CompressVideoTask-c09b0943-ed79-4983-8dbe-7a882574****
RequestIdstring

当次请求的Request ID。

CB4D73A3-BAF4-4A9D-A631-15F219AF****
TaskTypestring

任务的类型,返回值固定为CompressVideoTask。

CompressVideoTask

示例

正常返回示例

JSON格式

{
  "TaskId": "CompressVideoTask-c09b0943-ed79-4983-8dbe-7a882574****",
  "RequestId": "CB4D73A3-BAF4-4A9D-A631-15F219AF****",
  "TaskType": "CompressVideoTask"
}

错误码

访问错误中心查看更多错误码。

订阅消息返回示例

返回参数的说明请参见下表。

名称类型描述
eventNameString任务类型,返回值固定为CompressVideoTask。
imm.TaskIdString任务ID。
imm.DurationString总视频时长。
imm.CompressDurationString总压缩时长。
imm.CustomMessageString用户自定义信息。
imm.ResultsJSON String视频转码结果。当返回结果中的Success为true时,表示该转码子任务成功,否则转码子任务失败。
imm.SuccessString任务总体是否成功,当返回结果为空时,表示成功;不为空时,表示失败。

MNS返回的消息格式如下:

{
    "events": [
        {
            "eventName": "CompressVideoTask",
            "eventSource": "acs:imm",
            "eventTime": "2019-02-20T11:06:25.264Z",
            "eventVersion": "1.0",
            "imm": {
                "ErrorCode": "",
                "JobId": "CompressVideoTask-9bab56e8-e596-421a-b1f5-9ad1ab875fe4",
                "SourceDuration": "140",
                "CompressDuration": "70",
                "CustomMessage": "",
                "Results": "[{\"TargetUri\":\"oss://imm-test/testcases/example.m3u8\",\"Success\":\"true\",\"TargetDuration\": 140, \"TargetResolution\":\"640x480\"},{\"TargetUri\":\"oss://imm-test/testcases/example.m3u8\",\"Success\":\"false\",\"Reason\":\"Invalid Parameters\"}]"
            }
        }
    ]
}
阿里云首页 智能媒体管理 相关技术圈