本文檔詳細介紹了剪輯及預覽組件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減半,并合成到成片中。 參考示例:視頻/圖片混剪 |
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 說明
示例:視頻/圖片混剪。 |
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減半,并合成到成片中。 參考示例:視頻/圖片混剪 |
Effects | Effect[] | 是 | 否 | 素材片段的效果列表 |
LoopMode | Boolean | 是 | 否 | 素材片段在時間線中循環播放效果。
參考示例:視頻/圖片混剪 |
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。 說明
示例:視頻/圖片混剪。 |
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 | 是 | 否 | 效果子類型 |