chore: sync code and project files
This commit is contained in:
51
docs/07-user/USER-002-贴纸库数据源与授权.md
Normal file
51
docs/07-user/USER-002-贴纸库数据源与授权.md
Normal file
@@ -0,0 +1,51 @@
|
||||
## 目标
|
||||
为编辑器内置一个**适合抖音场景**的贴纸库(PNG/SVG),并保证:
|
||||
- **可商用/可分发**(许可清晰)
|
||||
- **可本地托管**(不依赖外部 CDN)
|
||||
- **所见即所得**:预览与导出一致(贴纸叠加到成片)
|
||||
|
||||
## 推荐贴纸库(抖音场景友好)
|
||||
### 方案 A:Microsoft Fluent UI Emoji(更“抖音感”)
|
||||
- **风格**:高饱和、现代、偏 3D/大图标,适合“强调/氛围/卖点”
|
||||
- **形态**:PNG/SVG(仓库提供多种风格/尺寸)
|
||||
- **适用**:火/赞/心/星星/箭头/提示/表情等常用贴纸
|
||||
- **风险**:请在引入前再次核对仓库 LICENSE(不同仓库/分支可能不同)
|
||||
|
||||
### 方案 B:Twemoji(稳定、覆盖全、但更像“emoji”)
|
||||
- **风格**:标准 emoji
|
||||
- **形态**:PNG/SVG
|
||||
- **适用**:作为“基础补全库”非常合适
|
||||
- **风险**:通常需要署名(CC-BY 类);引入前核对 LICENSE
|
||||
|
||||
### 不推荐(默认)
|
||||
### OpenMoji
|
||||
- **优点**:开源清晰、SVG 质量高
|
||||
- **缺点**:常见为 CC BY-SA(“同协议分享”约束强),对商业产品和二次分发不友好
|
||||
|
||||
## 贴纸库落地方式(本项目)
|
||||
本项目支持两类贴纸:
|
||||
- **内置贴纸**:放在 `assets/stickers_builtin/`,通过 `assets/stickers_builtin/index.json` 声明分类/标签/授权信息。
|
||||
- **自定义贴纸**:用户上传到 `assets/stickers_custom/`,可直接在 UI 里使用。
|
||||
|
||||
后端接口:
|
||||
- `GET /api/assets/stickers`:返回贴纸列表(合并 builtin + custom)
|
||||
- `POST /api/assets/stickers/upload`:上传 PNG/SVG/WEBP
|
||||
|
||||
前端能力:
|
||||
- 左侧 **“贴纸”** Tab:搜索/分类/缩略图;**拖拽到时间轴**生成贴纸片段
|
||||
- 时间轴新增 **“贴纸”轨道**:贴纸片段可移动/裁剪时长
|
||||
- 右侧属性:贴纸 **大小/旋转/X/Y**
|
||||
|
||||
导出(WYSIWYG):
|
||||
- FFmpeg 叠加贴纸:`overlay_multiple_images`
|
||||
- SVG 会在导出侧被转换为 PNG(优先使用 `rsvg-convert`,Dockerfile 已加入 `librsvg2-bin`)
|
||||
|
||||
## 下一步:把“推荐贴纸库”真正导入到 assets(需要一次性下载)
|
||||
由于贴纸库体积很大(数千~上万文件),建议用脚本把需要的子集同步到 `assets/stickers_builtin/`:
|
||||
- 先挑“抖音高频类目”:点赞/关注/箭头/爆款/促销/emoji 表情/弹幕气泡
|
||||
- 再逐步扩展
|
||||
|
||||
我建议你确认最终选用的库(Fluent vs Twemoji)后,我可以给你一个“按清单下载 + 生成 index.json”的脚本(可在服务器执行)。
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user