字幕及字幕模板
本文為您介紹如何修改SubmitMediaProducingJob的Timeline參數(shù)完成字幕及字幕模板處理。
使用說明
智能生產(chǎn)制作支持直播流、點播和OSS素材文件的剪輯合成、特效渲染、模板生產(chǎn)等功能,更多詳情請參見智能生產(chǎn)制作概述。
將一個或多個視頻、音頻、圖片、字幕素材合成為成品,可以通過不同的Timeline參數(shù)配置提交剪輯,然后調(diào)用SubmitMediaProducingJob - 提交剪輯合成作業(yè)來完成合成。
時間線是將素材按照視頻創(chuàng)意進行編排和特效設計的產(chǎn)物,時間線主要包含軌道、素材、效果3種對象,詳情請參見Timeline配置說明。
如果您想通過調(diào)用SDK進行音視頻剪輯,請參見安裝IMS服務端SDK的準備工作。
視頻添加字幕
字幕可以放在單獨的字幕軌道SubtitleTracks中,也可以在視頻Effects下設置字幕。
字幕的出場和入場時間可以通過TimelineIn和TimelineOut進行設置。如果不設置這兩個參數(shù),字幕軌道中的字幕將默認按照整個成片視頻的時長生成。而在Effects下的字幕,則會默認按照當前Effects歸屬的視頻素材的時間來生成。
字幕中可以使用\N或\n來實現(xiàn)字幕換行效果。
成片效果 | Timeline示例 |
|
設置字號、字體、自定義字體、描邊、陰影、字幕旋轉(zhuǎn)角度
FontSize表示字幕的字號。如果使用Effects下的字幕,建議使用FixedFontSize來設置字號,這樣字幕不會隨著視頻尺寸的變化而發(fā)生變化。
使用Font來指定系統(tǒng)字體,使用FontURL來指定自定義字體OSS文件路徑。當兩者同時設置時,系統(tǒng)將優(yōu)先按照FontURL來渲染字幕。
可以利用Outline、OutlineColour、Shadow、BackColour等參數(shù)來生成簡單的單層描邊陰影效果。如果需要實現(xiàn)復雜的多層描邊效果,可以參考示例3中有關(guān)自定義花字的示例。
設置Angle來調(diào)整字幕逆時針旋轉(zhuǎn)角度。
成片效果 | Timeline示例 |
|
設置花字、自定義花字
使用EffectColorStyleId字段來一鍵式設置花字,關(guān)于花字效果,請參考:花字效果示例
如果需要自定義字體效果,可以使用SubtitleEffects設置多層描邊和陰影效果。有關(guān)詳細字段說明,請參考SubtitleEffect部分。
成片效果 | Timeline示例 |
|
字幕局部效果
通過在Content字段中添加覆寫代碼,可以實現(xiàn)字幕的局部效果。下面是覆寫代碼的說明:
所有覆寫代碼均以兩個反斜杠(\\)開頭。
所有局部參數(shù)覆寫代碼必須在{}中,且一個{}可以包含多個覆寫代碼。
覆寫代碼會作用于其后的字幕上,如果想要結(jié)束該覆寫代碼,需要加一個與之對應的結(jié)束覆寫代碼來取消該效果。
覆寫參數(shù)詳細說明:
覆寫參數(shù) | 描述 | Content參數(shù)示例 |
|
| "這里設置{\\1c&00FF7F&}綠{\\1c}色" |
| bord、xbord、ybord分別表示邊框、沿X軸邊框和沿Y軸邊框的寬度,單位為像素。 | "這里設置{\\bord3\\3c&EBCE87&}描邊寬度{\\bord\\3c}顏色和大小" |
\\b1 \\b0 | b1為加粗,b0為取消加粗。 | "這里設置{\\b1}加粗{\\b0}效果", |
\\i1 \\i0 | i1為斜體,i0為取消斜體。 | "這里設置{\\i1}斜體{\\i0}效果" |
\\u1 \\u0 | u1為加下劃線,u0為取消下劃線。 | "這里設置{\\u1}下劃線{\\u0}效果" |
\\s1 \\s0 | s1為添加文本刪除線,s0為取消刪除線。 | "這里設置{\\s1}刪除線{\\s0}效果" |
\\fs[字體尺寸] | 字幕大小,單位為像素。 | "這里設置{\\fs100}100號{\\fs}文字" |
\\fn[字體名稱] | 字幕名稱,暫不支持設置自定義字體。 | "這里設置{\\fnKaiTi}黑體{\\fn}字體" |
成片效果 | Timeline示例 |
|
字幕自動換行
設置字幕的"AdaptMode"為"AutoWrap",可以實現(xiàn)在字幕超出畫布范圍時自動換行,以保證字幕內(nèi)容完全顯示出來。同時可以通過設置TextWidth,支持絕對像素和按照畫布百分比來換行,以確保文字在指定寬度范圍內(nèi)進行換行。
在英文等場景下,只允許在空格位置換行時,可以設置"AdaptMode": "AutoWrapAtSpaces",以確保字幕換行不會出現(xiàn)在英文單詞的中間位置。
成片效果 | Timeline示例 |
|
字幕對齊
在不同的字幕對齊方式下,定位方式也會有所不同。在設置Alignment時,對齊方式和默認的定點位置如下:
Alignment
對齊方式
默認位置
TopLeft
左對齊
視頻左上角
TopCenter
居中對齊
視頻豎直中軸線上側(cè)
TopRight
右對齊
視頻右上角
CenterLeft
左對齊
視頻水平中軸線左側(cè)
CenterCenter
居中對齊
視頻中心位置視頻水平中軸線右側(cè)
CenterRight
右對齊
視頻水平中軸線右側(cè)
BottomLeft
左對齊
視頻左下角
BottomCenter
居中對齊
視頻豎直中軸線下側(cè)
BottomRight
右對齊
視頻右下角
如果需要進行簡單的對齊和定位,可以按照以上方式進行設置。若需要在三種不同對齊方式下依然能夠精確定位字幕位置,可以設置Alignment為Left、Center、Right。字幕的定位基準點分別為:
Alignment
對齊方式
定位基準點
Left
左對齊
字幕文本框左上角頂點
Center
居中對齊
字幕文本框上邊界中點
Right
右對齊
字幕文本框右上角頂點
不同Alignment時的不同定位基準點如下圖所示:
成片效果 | Timeline示例 |
|
字幕特效
出場入場特效可以指定出場和入場時間,而循環(huán)特效則可以設置循環(huán)速度。
出場入場特效和循環(huán)特效不可同時使用。
成片效果 | Timeline示例 |
|
字幕背景
可以利用SubtitleEffects中的Box字段來實現(xiàn)字幕純色背景效果,同時支持設置花字、換行等樣式。
成片效果 | Timeline示例 |
|
官方氣泡字、自定義氣泡字
可以使用BubbleStyleId一鍵設置氣泡的樣式Id,氣泡樣式請參見:氣泡字示例。
在氣泡字模式下,支持設置BubbleWidth和BubbleHeight來調(diào)整氣泡的寬度和高度。此外,X和Y分別表示氣泡圖片左上角相對于視頻左上角的坐標。
在SubtitleEffects中的Box樣式下,支持設置圖片來實現(xiàn)自定義氣泡字效果。需要傳入Width和Height,分別表示氣泡原始圖片的寬和高,以及TextArea文本框相對于氣泡的位置和大小。其中四個字段分別表示字幕文本框左上角坐標相對于氣泡的位置,以及字幕文本框相對于氣泡的寬高。
在使用氣泡字功能時,文字會在氣泡內(nèi)部自動換行,并自動進行縮放處理。
成片效果 | Timeline示例 |
|
字幕滾動示例
您可以通過設置ScrollStartY和ScrollEndY來指定字幕滾動的起始和結(jié)束位置,同時使用ScrollSpeed參數(shù)來控制字幕滾動的速度,單位均為像素。
成片效果 | Timeline示例 |
|
通過設置FECanvas實現(xiàn)相同F(xiàn)ontSize在不同分辨率成片下字幕顯示大小一致
FontSize代表的是字幕文字高度在成片視頻中所占的像素數(shù)。在默認情況下,相同F(xiàn)ontSize在輸出到不同分辨率的視頻中時,占比往往是不一致的,比如FontSize:100時,輸出到480P的視頻字幕占比比較大,輸出到720P的視頻字幕占比比較小。如果期望使用合成到720P下的字幕FontSize,在合成到480P視頻時,字幕占比不變,可以在Timeline中設置FECanvas來實現(xiàn)該效果。
成片效果 | Timeline示例 |
|