剪辑及预览组件Web SDK的Timeline支持指南

本文档详细介绍了剪辑及预览组件Web SDK中Timeline的支持情况,通过本文档,您可以了解如何配置不同类型的轨道和片段,以实现视频、音频、图片、字幕和特效的混合编辑。

后端Timeline支持情况

请参考Timeline配置说明获取后端Timeline的具体支持情况。

前端Timeline支持情况

前端Timeline支持情况如下,适用于版本5.2.2以上的普通剪辑Web SDK及预览组件Web SDK。

Track

名称

类型

是否支持

描述

VideoTracks

VideoTrack[]

视频轨列表。多个轨道的层叠顺序与数组元素顺序一致,例如:数组的第一个元素图层的t在最底层,第二个元素的图层在其之上,以此类推。

AudioTracks

AudioTrack[]

音频轨列表。

ImageTracks(图片轨能力已兼容合并至视频轨 VideoTracks,图片轨将不再迭代维护)

ImageTrack[]

图片轨列表。

  1. 图片轨需叠加在视频轨之上,图片本身作为素材与视频混编时(如图片合成视频场景),请使用视频轨VideoTracks。

  2. 多个轨道的层叠顺序与数组元素顺序一致,如:数组的第一个元素图层的t在最底层,第二个元素的图层在其之上,以此类推。

SubtitleTracks

SubtitleTrack[]

否, 建议合并到VideoTracks,Type="Subtitle"

字幕轨列表。

EffectTracks

EffectTrack[]

否, 建议合并到VideoTracks,

Type="Effects"

特效轨列表。

VideoTrackClip

名称

类型

是否支持

是否必填

描述

MediaId

String

视频轨素材片段对应的IMS内容库媒资ID,或VOD媒资ID。

说明

MediaId和MediaURL有且仅有一个不为空。

MediaURL

String

是(在getMediaInfo或getDynamicSrc中通过第三个参数mediaOrigin区分,mediaOrigin=mediaURL表示)

视频轨素材片段对应的OSS地址,格式为:

https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-object.mp4

说明
  • MediaId和MediaURL有且仅有一个不为空。

  • MediaURL 仅支持OSS外网地址,不支持OSS加速地址、cdn地址或其他http url。

示例:多视频混剪Timeline

Type

String

素材片段类型,默认Video。

取值:

  • Video(视频)

  • Image(图片)

X

Float

表示图片或视频左上角距离输出视频左上角的横向距离。

说明

支持百分比和像素两种形式。当取值为[0~0.9999]时,表示相对输出视频宽的占比。当取值为>=2的整数时,表示绝对像素。

Y

Float

表示图片或视频左上角距离输出视频左上角的纵向距离。

说明

支持百分比和像素两种形式。当取值为[0~0.9999]时,表示相对输出视频高的占比。当取值为>=2的整数时,表示绝对像素。

Width

Float

当取值为[0~0.9999]时,表示相对输出视频宽的占比。当取值为>=2的整数时,表示绝对像素

Height

Float

当取值为[0~0.9999]时,表示相对输出视频高的占比。当取值为>=2的整数时,表示绝对像素

AdaptMode

String

视频尺寸自适应模式类型,默认为Fill,必须同时设置视频轨道Width和Height,该模式才会生效,此时Width和Height为目标区域宽高,视频会在目标区域内自适应缩放。

  • Contain:被替换的内容将被缩放,在填充目标区域的同时保留其长宽比。

  • Cover:被替换的内容在保持其宽高比的同时填充整个目标区域。如果对象的宽高比与内容框不相匹配,该对象将被剪裁以适应目标区域。

  • Fill:默认逻辑,被替换的内容正好填充目标内容框。整个对象将完全填充此框。如果对象的宽高比与内容框不相匹配,那么该对象将被拉伸以适应目标区域。

In

Float

素材片段相对于素材的入点,在素材类型是音视频时使用。单位:秒,精确到小数点后4位。如果In不填,默认为0。

Out

Float

素材片段相对于素材的出点,在素材类型是音视频时使用。单位:秒,精确到小数点后4位。如果Out不填,默认为素材时长。

MaxOut

Float

素材片段相对于素材的最大出点值。如果设置该值,素材片段相对于素材的出点将会设置为素材时长与该值中的较小者。在素材为音视频时使用。单位:秒,精确到小数点后4位。如果填入Out值,MaxOut值将失效。

Duration

Float

素材片段的时长,一般在素材类型是图片时使用。单位:秒,精确到小数点后4位。

DyncFrames

Int

动图的帧数,在素材类型是图片且为动图时使用。示例:使用gif贴纸

TimelineIn

Float

素材片段相对于时间线的入点。单位:秒,精确到小数点后4位。如果TimelineIn不填,则会按照素材片段顺序相接的方式自动计算TimelineIn。

TimelineOut

Float

素材片段相对于时间线的出点。单位:秒,精确到小数点后4位。如果TimelineOut不填,则会按照素材片段顺序相接的方式自动计算TimelineOut。

Speed

Float

视频素材速率,取值范围0.1~100,如:Speed=2,则将视频做2倍速处理,Clip的Duration减半,并合成到成片中。

参考示例:多视频混剪Timeline

Opacity

Float

视频不透明度,取值范围0~1,如:Opacity=0,表示完全透明;Opacity=1,表示完全不透明。

MaskVideoUrl

String

遮罩视频地址。一般为带 Alpha 通道的视频,用于为原视频添加透明通道效果。

说明

仅支持传入 OSS 外网地址

ClipId

String

轨道对齐参数。其他音视频轨道的素材如果设置了相同的ReferenceClipId,则其时间线入出点与当前clip对齐。

参考文档:素材与素材时长自动对齐

ReferenceClipId

String

轨道对齐参数。其他音视频轨道的素材如果设置了相同的ClipId,则当前clip的时间线入出点与其他轨道的素材对齐。

参考文档:素材与素材时长自动对齐

Effects

Effect[]

素材片段的效果列表。

AudioTrackClip

名称

类型

是否支持

是否必填

描述

MediaId

String

音频轨素材片段对应的IMS内容库媒资ID,或VOD媒资ID。

说明

MediaId和MediaURL有且仅有一个不为空。

MediaURL

String

是(在getMediaInfo或getDynamicSrc中通过第三个参数mediaOrigin区分,mediaOrigin=mediaURL表示)

音频轨素材片段对应的OSS地址,格式为:

https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-object.mp4

说明
  • MediaId和MediaURL有且仅有一个不为空。

  • MediaURL 仅支持OSS外网地址,不支持OSS加速地址、cdn地址或其他http url。

示例:多视频混剪Timeline

In

Float

素材片段相对于素材的入点。单位:秒,精确到小数点后4位。如果In不填,默认为0。

Out

Float

素材片段相对于素材的出点。单位:秒,精确到小数点后4位。如果Out不填,默认为素材时长。

TimelineIn

Float

素材片段相对于时间线的入点。单位:秒,精确到小数点后4位。如果TimelineIn不填,则会按照素材片段顺序相接的方式自动计算TimelineIn。

TimelineOut

Float

素材片段相对于时间线的出点。单位:秒,精确到小数点后4位。如果TimelineOut不填,则会按照素材片段顺序相接的方式自动计算TimelineOut。

Speed

Float

音频素材速率,取值范围0.1~100,如:Speed=2,则将音频做2倍速处理,Clip的Duration减半,并合成到成片中。

参考示例:多视频混剪Timeline

Effects

Effect[]

素材片段的效果列表

LoopMode

Boolean

素材片段在时间线中循环播放效果。

  • True:循环播放;

  • False(默认值):正常不循环。

参考示例:多视频混剪Timeline

ClipId

String

轨道对齐参数。其他音视频轨道的素材如果设置了相同的ReferenceClipId,则其时间线入出点与当前clip对齐。

参考文档:素材与素材时长自动对齐

ReferenceClipId

String

轨道对齐参数。其他音视频轨道的素材如果设置了相同的ClipId,则当前clip的时间线入出点与其他轨道的素材对齐。

参考文档:素材与素材时长自动对齐

ImageTrackClip

名称

类型

是否支持

是否必填

描述

MediaId

String

图片轨素材对应的媒资库图片资源MediaId,或VOD图片媒资Id。

说明

MediaId和MediaURL有且仅有一个不为空。

MediaURL

String

是(在getMediaInfo或getDynamicSrc中通过第三个参数mediaOrigin区分,mediaOrigin=mediaURL表示)

图片轨素材片段对应的OSS地址,格式为:https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-object.mp4。

说明
  • MediaId和MediaURL有且仅有一个不为空。

  • MediaURL 仅支持OSS外网地址,不支持OSS加速地址、cdn地址或其他http url。

示例:多视频混剪Timeline

X

Float

表示图片左上角距离输出视频左上角的横向距离。

说明

支持百分比和像素两种形式。当取值为[0~0.9999]时,表示相对输出视频宽的占比。当取值为>=2的整数时,表示绝对像素。

Y

Float

表示图片左上角距离输出视频左上角的纵向距离。

说明

支持百分比和像素两种形式。当取值为[0~0.9999]时,表示相对输出视频高的占比。当取值为>=2的整数时,表示绝对像素。

Width

Float

表示图片在输出视频中的宽度。

说明

支持百分比和像素两种形式。当取值为[0~0.9999]时,表示相对输出视频宽的占比。当取值为>=2的整数时,表示绝对像素。

Height

Float

表示图片在输出视频中的高度。

说明

支持百分比和像素两种形式。当取值为[0~0.9999]时,表示相对输出视频高的占比。当取值为>=2的整数时,表示绝对像素。

TimelineIn

Float

图片出现在时间线的起始位置。单位:秒,精确到小数点后4位。如果TimelineIn不填,默认值为0。

TimelineOut

Float

图片出现在时间线的结束位置。单位:秒,精确到小数点后4位。如果TimelineOut不填,默认值为视频轨的最大时长。

DyncFrames

Int

动图的帧数,在素材为动图时必填。示例:使用gif贴纸

Effects

Effect[]

素材的效果列表。

SubtitleTrackClip

名称

类型

是否支持

是否必填

描述

Type

String

仅支持Text

字幕素材类型。取值:

  • Subtitle 外挂字幕文件

  • Text 横幅文字

SubType

String

字幕素材子类型。取值:

  • srt 外挂srt字幕

  • ass 外挂ass字幕

字幕素材类型为横幅文字时,可忽略该字段。

FileURL

String

字幕文件对应的OSS地址。当字幕类型为外挂字幕时必填。格式为:

https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-object.srt

说明

FileURL 仅支持OSS外网地址,不支持OSS加速地址、cdn地址或其他http url。

示例:多视频混剪Timeline

X

Float

当字幕类型为横幅文字时,表示文字左上角距离输出视频左上角的横向距离。

说明

支持百分比和像素两种形式。当取值为[0~0.9999]时,表示相对输出视频宽的占比。当取值为>=2的整数时,表示绝对像素。

Y

Float

当字幕类型为横幅文字时,表示文字左上角距离输出视频左上角的纵向距离。

说明

支持百分比和像素两种形式。当取值为[0~0.9999]时,表示相对输出视频高的占比。当取值为>=2的整数时,表示绝对像素。

TimelineIn

Float

当字幕类型为横幅文字时,表示文字出现在时间线的起始位置。单位:秒,精确到小数点后4位。如果TimelineIn不填,则会按照素材顺序相接的方式自动计算TimelineIn

TimelineOut

Float

当字幕类型为横幅文字时,表示文字出现在时间线的结束位置。单位:秒,精确到小数点后4位。如果TimelineOut不填,则会按照素材顺序相接的方式自动计算TimelineOut。

Content

String

当字幕类型为横幅文字时必填,表示文字内容。

Font

String

支持字体:

"Alibaba PuHuiTi", //阿里巴巴普惠体
"STFangsong", //仿宋字体
"KaiTi", // 楷体
"SimSun", //宋体
"Source Han Sans CN Normal", // 思源黑体
"思源宋体", //思源宋体
"WenQuanYi Zen Hei Mono", //文泉驿等宽正黑
"WenQuanYi Zen Hei Sharp", //文泉驿点阵正黑
"文泉驿微米黑", //文泉驿微米黑
"zcool-gdh", //站酷高端黑体
"HappyZcool-2016", //站酷快乐体
"zcoolwenyiti" //站酷文艺体

FontSize

Int

当字幕类型为横幅文字时,表示文字的字号。

SizeRequestType

String

当字幕类型为横幅文字时,表示将文字字号到实际文字渲染大小的计算方式,默认处理方式为Nominal

  • Nominal:字幕渲染高度(像素值)等于字号FontSize

  • RealDim:在某些字体上,字幕渲染高度(像素)可能会小于字号FontSize

FontColor

String

当字幕类型为横幅文字时,表示文字的颜色,格式为#后跟16进制值。例如:#ffffff。

FontColorOpacity

String

当字幕类型为横幅文字时,表示文字的透明度,取值0-1,默认1。1为不透明,0为完全透明。

FontFace

FontFace

当字幕类型为横幅文字时,表示文字的字体外观。

Spacing

Int

当字幕类型为横幅文字时,表示横幅文字字间距。单位:像素值,默认为0。

LineSpacing

Int

当字幕类型为横幅文字时,表示横幅文字行间距。单位:像素值,默认为0。

Angle

Float

当字幕类型为横幅文字时,表示横幅文字逆时针旋转角度。单位:度,默认为0。

BorderStyle

Int

设置横幅文字边框和阴影格式。取值1或3,1=边框+阴影,3=不透明底框。默认为1。

Outline

Int

当字幕类型为横幅文字时,表示横幅文字描边宽度。单位:像素值,默认为0。

OutlineColour

String

当字幕类型为横幅文字时,表示横幅文字描边颜色,格式为#后跟16进制值。例如:#ffffff。

Shadow

Int

当字幕类型为横幅文字时,表示横幅文字投下阴影的深度,单位:像素值,默认为0。

BackColour

String

当字幕类型为横幅文字时,表示横幅文字阴影颜色,格式为#后跟16进制值。例如:#ffffff。

Alignment

String

当字幕类型为横幅文字时,用于设置定位对齐方式,默认为TopLeft,支持设置:

  • TopLeft:视频左上角

  • TopCenter:视频竖直中轴线上侧

  • TopRight:视频右上角

  • CenterLeft:视频水平中轴线左侧

  • CenterCenter:视频中心位置

  • CenterRight:视频水平中轴线右侧

  • BottomLeft:视频左下角

  • BottomCenter:视频竖直中轴线下侧

  • BottomRight:视频右下角

若需要在不同对齐方式下准确定位字幕位置,建议设置以下对齐方式:

  • Left,左对齐,X、Y传入字幕左上角顶点相对于视频左上角的坐标

  • Center,居中对齐,X、Y传入字幕中轴线上边界交点相对于视频左上角的坐标

  • Right,右对齐,X、Y传入字幕右上角顶点相对于视频左上角的坐标

AdaptMode

String

部分支持(AutoScale暂不支持)

横幅文字当超出视频宽度或超出指定TextWidth时进行自动换行或缩放:

  • AutoWrap:自动换行

  • AutoScale:自动缩放

  • AutoWrapAtSpaces:只在空格位置自动换行(适用于纯英文字幕自动换行场景)

TextWidth

Float

字幕文本框宽度,当设置AdaptMode时生效。将按照该值设置文本框宽度进行自动换行或缩放。不填写时,会按照视频宽度进行自动换行或缩放。当值大于0小于等于1时,表示相对输出视频的宽度,当值大于1时,表示绝对像素值。

FontUrl

String

当字幕类型为横幅文字时,支持使用用户OSS的字体文件路径来生成字幕,支持ttf、otf、woff三种格式的字体文件。例如:https://your-bucket.oss-cn-shanghai.aliyuncs.com/example-font.ttf

EffectColorStyle

String

当字幕类型为横幅文字时,表示横幅文字花字样式类型。花字种类及效果见:花字效果示例

SubtitleEffects

SubtitleEffect[]

当字幕类型为横幅文字时,表示文字多层效果。目前支持设置多层描边、多层阴影以及高斯模糊效果(高斯模糊仅支持在类型为阴影时使用)。

说明
  • 如果设置SubtitleEffects时,字幕轨道中Outline、Shadow字段不会再生效;

  • 当设置多层描边/阴影效果时,SubtitleEffects数组的顺序表示层级顺序,数组中第一个SubtitleEffect会渲染在最底层,数组中最后一个SubtitleEffect会渲染在最上层;

AaiMotionInEffect

String

当字幕类型为横幅文字时,表示横幅文字入场特效类型。字幕入场特效种类及效果见:字幕特效效果示例

AaiMotionIn

Float

当字幕类型为横幅文字时,表示横幅文字入场特效时长。单位:秒,精确到小数点后4位,如果AaiMotionIn不填,默认0.5s,如果文本时长小于0.5,则为总时长减去出场时长。

AaiMotionOutEffect

String

当字幕类型为横幅文字时,表示横幅文字出场特效类型。字幕出场特效种类及效果见:字幕特效效果示例

AaiMotionOut

Float

当字幕类型为横幅文字时,表示横幅文字出场特效时长,单位秒,精确到小数点后4位,如果AaiMotionOut不填,默认0.5s,如果文本时长小于0.5,则为总文本时长。

AaiMotionLoopEffect

String

当字幕类型为横幅文字时,表示横幅文字循环特效类型,不可与字幕入场或者出场特效同时生效。循环特效种类以及效果见:字幕特效效果示例

Ratio

Float

当字幕类型为横幅文字时,表示横幅文字循环特效播放速度,精确到小数点后4位。不填默认为1,大于1表示加速循环,小于1表示慢速循环。

EffectTrackItem

名称

类型

是否支持

是否必填

描述

Type

String

特效轨片段类型,支持:VFX、Filter。

SubType

String

特效轨片段子类型,请参见:

特效效果示例滤镜效果示例

TimelineIn

Float

特效片段出现在时间线的起始位置。单位:秒,精确到小数点后4位。如果TimelineIn不填,则默认为0。

TimelineOut

Float

特效片段出现在时间线的结束位置。单位:秒,精确到小数点后4位。如果TimelineOut不填,则默认为视频结束时间。

Duration

Float

特效片段出现在时间线的持续时长。单位:秒,精确到小数点后4位。如果Duration不填,则默认为视频时长。

说明

Duration和TimelineOut仅有一个生效。

X

Float

该字段仅支持SubType为mosaic_rect/blur的情况。特效区域左上角距离输出视频左上角的横向距离。

说明

支持百分比和像素两种形式。当取值为[0~0.9999]时,表示相对输出视频宽的占比。当取值为>=2的整数时,表示绝对像素。

Y

Float

该字段仅支持SubType为mosaic_rect/blur的情况。

特效区域距离输出视频左上角的纵向距离。

说明

支持百分比和像素两种形式。当取值为[0~0.9999]时,表示相对输出视频高的占比。当取值为>=2的整数时,表示绝对像素。

Width

Float

该字段仅支持SubType为mosaic_rect/blur的情况。特效区域在输出视频中的宽度。

说明

支持百分比和像素两种形式。当取值为[0~0.9999]时,表示相对输出视频宽的占比。当取值为>=2的整数时,表示绝对像素。

Height

Float

该字段仅支持SubType为mosaic_rect/blur的情况。特效区域在输出视频中的高度。

说明

支持百分比和像素两种形式。当取值为[0~0.9999]时,表示相对输出视频高的占比。当取值为>=2的整数时,表示绝对像素。

VideoClips effect支持情况

名称

类型

是否支持

是否必填

描述

Type

String

支持类型

Text,Crop,Scale,Transition,Filter,VFX,Volume,AFade

效果类型。取值如下:

  • Text(横幅文字:视频轨素材)

  • DeWatermark(模糊:视频轨素材)

  • Crop(裁剪:视频轨素材)

  • Pad(贴边:视频轨素材)

  • Scale(缩放:视频轨素材)

  • Transition(转场:视频轨素材)

  • VFX(特效:视频轨素材)

  • Volume(音量调整:音频轨素材)

  • AFade(音频淡入淡出:音频轨)

  • AI_ASR(识别音频生成字幕:视频轨、音频轨素材)

SubType

String

效果子类型

  • 当Type为Transition时,会进一步描述转场子类型。取值请参见:转场效果示例

  • 当Type为VFX时,会进一步描述特效子类型。取值请参见:特效效果示例

  • 当Type为Filter 时,会进一步描述滤镜子类型。取值请参见:滤镜效果示例