全部产品
云市场
云游戏

CreateVideoCompressTask

更新时间:2019-11-20 11:17:38

描述

创建一个视频压缩存储的任务。该任务需要一个视频类型的 project,目前为 VideoCompressStarter / VideoCompressProfessional。

请求参数

名称 类型 是否必填 描述
Project string Project
Action String CreateVideoCompressTask
VideoUri string 视频 Uri
OSS 地址规则为:oss://bucket/object,其中 bucket和当前 Project 在同一区域的 OSS 桶名, object 为文件路径。
TargetList []TargetVideos 压缩后的视频列表。可对统一输入视频同时压缩多份不同格式结果。
NotifyTopicName String 异步通知的 TopicName
NotifyEndpoint String 异步反向通知的 Endpoint,作业处理状态可以通过该 Endpoint 异步通知到调用者
CustomMessage String 用户自定义信息,在通知时回原样返回。

关于 MNS 的使用方式,参考 消息服务 MNS 概述

数据类型TargetVideos

IMM 参数 类型 是否必填 描述
AudioBitrate String 音频码率,单位:比特每秒(bit/s),可选值:64k,128k,192k,256k,320k
AllowIncreaseAudioBitrate Bool 允许输出音频比特率高于原音频。默认 true 。
AudioQuality Integer 音频质量,取值范围为0-9(mp3),值越小质量越高;10-500(aac),值越大质量越高。仅支持mp3和aac。不能与音频码率参数AudioBitrate共用。
AudioSampleRate Integer 音频采样频率,单位:赫兹(Hz),常用采样频率:8000,12050,22050,44100等。不传则保持原采样频率。
AllowIncreaseAudioSampleRate Bool 允许输出文件帧率高于原视频。默认 true 。
VideoFrameRate Integer 视频帧率,不传则保持原值。
AllowIncreaseVideoFrameRate Bool 允许输出文件帧率高于原视频。默认 true 。
VideoBitrate String 视频比特率,单位:比特每秒(bit/s)。 常用视频比特率:128k,1.25m,5m等。
AllowIncreaseVideoBitrate Bool 允许输出文件比特率高于原视频。默认 true 。
VideoCodec String 视频编码方案,可选值:libx264, libvpx, libtheora, libxvid, copy。
AudioCodec String 音频编码方案,可选值:libmp3lame, libvorbis, libfdk_aac, opus, copy。
SeekStartTime Integer 指定视频截取的开始时间,单位:秒。
Duration Integer 指定视频截取的长度,单位:秒。
VideoResolution String 指定视频分辨率,格式为 宽x高。例如:640x480。
AllowIncreaseVideoResolution Bool 允许输出文件分辨率高于原视频。默认 true 。
AdaptVideoResolutionDirection Bool 自适应分辨率方向。默认 false 。
VideoRotation Integer 指定顺时针旋转的度数,可取值为90、180、270,默认为自动旋转。
DisableAudio Bool 是否禁用音频流。
DisableVideo Bool 是否禁用视频流。
VideoProfile String 设置视频的profile等级,可选值:baseline,main,high。
AudioChannel Integer 声道数:1为单声道,2为立体声
TargetUri String 输出文件的OSS URI。
HLSTime Integer HLS格式的切片大小,单位秒。输出文件为m3u8格式时必传。
Watermarks []Watermarks 水印列表
VideoCRF Integer 指定恒定质量模式(视频编码器为libx264才有效);取值范围0-51,数值越大画质越差,建议取值[18,28]。
VideoMaxBitrate String 动态码率下限定最大码率,如1000k 。注:该参数需要和VideoCRF参数一起使用才有效。使用该参数时,必须指定VideoBufferSize参数
VideoBufferSize String 编码缓冲大小,和VideoMaxBitrate一起使用,如1000k
Speed Float 加减速,范围 [0.5, 2]
ScaleType String 缩放方式,可选值:CROP/STRETCH/FILL/FIT,分别为缩放并裁剪/拉伸以填满/缩放并保留黑边/缩放并不保留黑边。默认 STRETCH 。
Delogos []Delogo(#数据类型Delogo) 对视频上某矩形部分进行模糊,用于去 Logo / 台标等。
SubTitles []SubTitle(#数据类型SubTitle) 添加字幕。
IMM 参数 类型 必填 描述
Dx Float 默认值:0。值有两种形式:整数型代表偏移像素,范围:[1,4096],单位:px,小数型代表垂直偏移量与输出分辨率高的比率,范围:(0,1)。
Dy Float 默认值:0。值有两种形式:整数型代表偏移像素,范围:[1,4096],单位:px,小数型代表垂直偏移量与输出分辨率高的比率,范围:(0,1)。
Width Float 去 Logo 宽,值有两种形式:整数型代表去 Logo 宽的像素值,范围:(1,4096],单位:px。小数型代表相对输出视频分辨率宽的比率,范围:(0,1]。
Height Float 去 Logo 高,值有两种形式:整数型代表去 Logo 高的像素值,范围:(1,4096],单位:px。小数型代表相对输出视频分辨率宽的比率,范围:(0,1]。
Start Integer 去 Logo 开始时间,默认0为从头开始,单位秒
Duration Integer 去 Logo 持续时间,默认0为持续到视频结束,单位秒
ReferPos String 去 Logo 的位置。值范围:TopRight、TopLeft、BottomRight、BottomLeft。 默认 TopLeft

数据类型SubTitle

IMM 参数 类型 必填 描述
FileUri String 字幕文件的 OSS URI。支持 SRT、ASS 等格式。
Lang String 语言。参考 ISO-639-2 语言定义。

数据类型Watermarks

参数 类型 是否必选 描述
Type String 类型:Text、File。Text为文字水印。File为png、mov水印
Dx Float 默认值:0。值有两种形式:整数型代表偏移像素,范围:[1,4096],单位:px,小数型代表垂直偏移量与输出分辨率高的比率,范围:(0,1)。
Dy Float 默认值:0。值有两种形式:整数型代表偏移像素,范围:[1,4096],单位:px,小数型代表垂直偏移量与输出分辨率高的比率,范围:(0,1)。
Start Integer 水印开始时间,默认0为从头开始,单位秒
Duration Integer 水印持续时间,默认0为持续到视频结束,单位秒
ReferPos String 水印的位置。值范围:TopRight、TopLeft、BottomRight、BottomLeft。 默认 TopLeft
以下为 Type=Text 时的参数列表
Content String 文字水印内容。
FontName String 字体名称。
FontSize Integer 字体大小。默认值:16。范围:(4, 120)
FontColor String 字体颜色。#RRGGBB 格式。默认#000000
FontAlpha Float 字体透明度。范围:(0, 1],默认:1.0
BorderWidth Integer 描边宽度。默认:0。范围:[0,4096]
BorderColor String 描边颜色。#RRGGBB 格式,默认#000000
以下为 Type=File 时的参数列表
FileUri String 水印文件的 OSS URI。支持 PNG 和 MOV格式。
Width Float 水印图片宽,值有两种形式:整数型代水印图片宽的像素值,范围:(1,4096],单位:px。小数型代表相对输出视频分辨率宽的比率,范围:(0,1]。
Height Float 水印图片高,值有两种形式:整数型代水印图片高的像素值,范围:(1,4096],单位:px。小数型代表相对输出视频分辨率宽的比率,范围:(0,1]。

水印宽、高参数设置说明:

  • 宽、高都不设置时,水印宽取输出视频分辨率宽的0.12倍,水印高按水印原图宽高比例等比缩放;
  • 宽或高设置一边,另一边不设置时,则另一边按水印原图宽高比等比缩放;
  • 宽、高两边都设时,按实际设置值设置水印图片。

水印位置坐标说明:

ReferPos

支持的字体列表

  • SourceHanSans-Regular
  • SourceHanSans-Bold
  • SourceHanSerif-Regular
  • SourceHanSerif-Bold

返回参数

名称 类型 描述
RequestId String 用户发送的每次接口调用请求,无论成功与否,系统都会返回一个唯一识别码 RequestId 给用户
TaskId String 该任务对唯一 ID
TaskType String Task 所属类型,固定值 CompressVideoTask

示例

请求示例

  1. POST https://imm.cn-shanghai.aliyuncs.com
  2. ?Action=CreateVideoCompressTask
  3. &Project=test
  4. &VideoUri=oss://xxx/test/res.m3u8
  5. &TargetList=[]

成功返回示例

  1. {
  2. "RequestId": "10AFFE69-73BA-47C2-8A85-029AA9DA72A3",
  3. "TaskId": "VideoCompressTask-ffcdec0c-73ba-451a-bec4-a9fe3f4cd765",
  4. "TaskType": "VideoCompressTask"
  5. }

订阅消息返回示例

返回参数

Parameter Type Comment
eventName string 任务类型,返回固定值 CompressVideoTask
imm.TaskId string 任务唯一 ID
imm.Duration string 总视频时长
imm.CompressDuration string 总压缩时长
imm.CustomMessage string 用户自定义信息
imm.Results json string 视频转码结果

MNS 返回的消息格式如:

  1. {
  2. "events": [
  3. {
  4. "eventName": "CompressVideoTask",
  5. "eventSource": "acs:imm",
  6. "eventTime": "2019-02-20T11:06:25.264Z",
  7. "eventVersion": "1.0",
  8. "imm": {
  9. "ErrorCode": "",
  10. "JobId": "CompressVideoTask-9bab56e8-e596-421a-b1f5-9ad1ab875fe4",
  11. "SourceDuration": "140",
  12. "CompressDuration": "70",
  13. "CustomMessage": "",
  14. "Results": "[{\"TargetUri\":\"oss://abc/def.mp4\",\"Success\":\"true\",\"TargetDuration\": 140, \"TargetResolution\":\"640x480\"},{\"TargetUri\":\"oss://abc/def.mp4\",\"Success\":\"false\",\"Reason\":\"Invalid Parameters\"}]"
  15. }
  16. }
  17. ]
  18. }

若在使用中有疑问,请参考 FAQ,或者进入 钉钉用户群 实时交流。