本文档详细介绍了剪辑及预览组件Web SDK中Timeline的支持情况,通过本文档,您可以了解如何配置不同类型的轨道和片段,以实现视频、音频、图片、字幕和特效的混合编辑。
后端Timeline支持情况
请参考Timeline配置说明获取后端Timeline的具体支持情况。
前端Timeline支持情况
前端Timeline支持情况如下,适用于版本5.2.2以上的普通剪辑Web SDK及预览组件Web SDK。
Track
名称 | 类型 | 是否支持 | 描述 |
VideoTracks | 是 | 视频轨列表。多个轨道的层叠顺序与数组元素顺序一致,例如:数组的第一个元素图层的t在最底层,第二个元素的图层在其之上,以此类推。 | |
AudioTracks | 是 | 音频轨列表。 | |
ImageTracks(图片轨能力已兼容合并至视频轨 VideoTracks,图片轨将不再迭代维护) | 是 | 图片轨列表。
| |
SubtitleTracks | 否, 建议合并到VideoTracks,Type="Subtitle" | 字幕轨列表。 | |
EffectTracks | 否, 建议合并到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 说明
|
Type | String | 是 | 否 | 素材片段类型,默认Video。 取值:
|
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为目标区域宽高,视频会在目标区域内自适应缩放。
|
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 说明
示例:多视频混剪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 | 是 | 否 | 素材片段在时间线中循环播放效果。
参考示例:多视频混剪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。 说明
示例:多视频混剪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 | 是 | 字幕素材类型。取值:
|
SubType | String | 是 | 否 | 字幕素材子类型。取值:
字幕素材类型为横幅文字时,可忽略该字段。 |
FileURL | String | 否 | 否 | 字幕文件对应的OSS地址。当字幕类型为外挂字幕时必填。格式为: https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-object.srt 说明 FileURL 仅支持OSS外网地址,不支持OSS加速地址、cdn地址或其他http url。 |
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 | 是 | 否 | 支持字体:
|
FontSize | Int | 是 | 是 | 当字幕类型为横幅文字时,表示文字的字号。 |
SizeRequestType | String | 是 | 否 | 当字幕类型为横幅文字时,表示将文字字号到实际文字渲染大小的计算方式,默认处理方式为Nominal。
|
FontColor | String | 是 | 否 | 当字幕类型为横幅文字时,表示文字的颜色,格式为#后跟16进制值。例如:#ffffff。 |
FontColorOpacity | String | 是 | 否 | 当字幕类型为横幅文字时,表示文字的透明度,取值0-1,默认1。1为不透明,0为完全透明。 |
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,支持设置:
若需要在不同对齐方式下准确定位字幕位置,建议设置以下对齐方式:
|
AdaptMode | String | 部分支持(AutoScale暂不支持) | 否 | 横幅文字当超出视频宽度或超出指定TextWidth时进行自动换行或缩放:
|
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 | 是 | 否 | 当字幕类型为横幅文字时,表示文字多层效果。目前支持设置多层描边、多层阴影以及高斯模糊效果(高斯模糊仅支持在类型为阴影时使用)。 说明
| |
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 | 是 | 效果类型。取值如下:
|
SubType | String | 是 | 否 | 效果子类型 |