短視頻SDK提供了豐富的功能接?,產(chǎn)品級(jí)的交互,豐富的視頻素材庫(kù)(MV、貼紙、?泡、花字),并推出了特效?定義能?來滿足不同場(chǎng)景和?業(yè)下的素材需求,本?檔將重點(diǎn)介紹花字的制作規(guī)范和輸出。
簡(jiǎn)介
花字是基于字幕的一種特效,一個(gè)花字特效資源包文件夾,包含了一個(gè)名為config.json的通用特效配置文件以及一些圖片素材。您可以通過短視頻SDK提供的編輯接口,傳入特效資源包文件夾目錄,來應(yīng)用一個(gè)花字特效效果。
一個(gè)完整的花字特效資源包通常包含以下三個(gè)部分:
- config.json:必選,花字的配置文件。配置說明參見config.json配置說明。
- icon.png:可選,花字縮略圖,即最終生成的花字效果縮略圖。
- lieheng.png:可選,花字文字貼圖,即基于此圖片設(shè)置花字效果,當(dāng)配置文件有配置時(shí)使用。
配置花字特效資源包
config.json配置說明如下表所示:
字段 | 類型 | 是否必選 | 說明 |
---|---|---|---|
version | String | 是 | 配置版本號(hào),默認(rèn)為1。 |
color | String | 是 | 字體顏色,格式:#AARRGGBB或 #RRGGBB。 |
texture | String | 否 | 花字文字貼圖,只支持jpg和png格式,且需和config.json配置文件放置在同一文件夾下。目前花字文字貼圖的規(guī)則是每個(gè)文字的貼圖完全一樣,取貼圖覆蓋到字體顏色區(qū)域部分。 |
outline1 | JSONObject | 是 | 第一層描邊。屬性說明參見outline屬性說明。 |
outline2 | JSONObject | 否 | 第二層描邊,和outline1數(shù)據(jù)結(jié)構(gòu)相同。屬性說明參見outline屬性說明。 |
outline包含outline1和outline2,outline屬性說明如下表所示:
字段 | 類型 | 是否必選 | 說明 |
---|---|---|---|
type | String | 是 | 默認(rèn)為normal,代表默認(rèn)使用系統(tǒng)字體。 |
data | JSONArray | 是 | 定義了描邊的一系列顏色及寬度,詳細(xì)請(qǐng)參見data子節(jié)點(diǎn)屬性說明。當(dāng)type為normal時(shí),data最多允許有3個(gè)顏色配置,超過3個(gè),則只會(huì)取前3個(gè)顏色配置。 |
data子節(jié)點(diǎn)屬性說明如下表所示:
字段 | 類型 | 是否必選 | 說明 |
---|---|---|---|
color | String | 是 | 描邊顏色,格式:#AARRGGBB或#RRGGBB。 |
width | float | 是 | 描邊寬度,取值范圍:[0~64],且下一個(gè)同類型節(jié)點(diǎn)的width值,必須大于當(dāng)前width值。 說明 每一個(gè)outline的data子節(jié)點(diǎn)的width屬性值,必須大于上一個(gè)data子節(jié)點(diǎn)的width屬性值,示例如下。 |
正確的width取值樣例如下,data5的width > data4的width > data3的width > data2的width > data1的width。
{
"outline1": {
"type": "normal",
"data":[ // data1
{
"color": "#5350DD",
"width": 2
},
{ // data2
"color": "#B5FAA7",
"width": 4
}
]
},
"outline2": {
"type": "normal",
"data":[
{ // data3
"color": "#6E58F8",
"width": 8
},
{ // data4
"color": "#69F88C",
"width": 10
},
{ // data5
"color": "#FA55D8",
"width": 12
}
]
}
}
配置示例
本文以設(shè)置如下花字效果為例進(jìn)行示例說明。該示例的配置資源包Demo:示例Demo.zip。
- 該示例Demo包的文件夾結(jié)構(gòu)如下:
├── config.json
├── icon.png
└── lieheng.png
- config.json的配置如下:
{ "version": 1, "color":"#000000", "texture": "lieheng.png", "outline1": { "type": "normal", "data":[ { "color": "#ffffff", "width": 8 } ] }, "outline2": { "type": "normal", "data":[ { "color": "#000000", "width": 15 } ] } }
在短視頻SDK中使用特效
目前僅支持在編輯視頻時(shí),使用花字特效。
- Android
調(diào)用
AliyunPasterControllerCompoundCaption.setFontEffectTemplate
方法應(yīng)用花字效果。詳細(xì)操作請(qǐng)參考設(shè)置字幕及動(dòng)態(tài)貼紙。 - iOS
調(diào)用
AliyunCaptionStickerController.setFontEffectTemplate
方法應(yīng)用花字效果。詳細(xì)操作請(qǐng)參考設(shè)置字幕及貼紙。