Files
video-flow/docs/07-user/USER-002-贴纸库数据源与授权.md
2026-01-09 14:09:16 +08:00

2.5 KiB
Raw Blame History

目标

为编辑器内置一个适合抖音场景的贴纸库PNG/SVG并保证

  • 可商用/可分发(许可清晰)
  • 可本地托管(不依赖外部 CDN
  • 所见即所得:预览与导出一致(贴纸叠加到成片)

推荐贴纸库(抖音场景友好)

方案 AMicrosoft Fluent UI Emoji更“抖音感”

  • 风格:高饱和、现代、偏 3D/大图标,适合“强调/氛围/卖点”
  • 形态PNG/SVG仓库提供多种风格/尺寸)
  • 适用:火/赞/心/星星/箭头/提示/表情等常用贴纸
  • 风险:请在引入前再次核对仓库 LICENSE不同仓库/分支可能不同)

方案 BTwemoji稳定、覆盖全、但更像“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-convertDockerfile 已加入 librsvg2-bin

下一步:把“推荐贴纸库”真正导入到 assets需要一次性下载

由于贴纸库体积很大(数千~上万文件),建议用脚本把需要的子集同步到 assets/stickers_builtin/

  • 先挑“抖音高频类目”:点赞/关注/箭头/爆款/促销/emoji 表情/弹幕气泡
  • 再逐步扩展

我建议你确认最终选用的库Fluent vs Twemoji我可以给你一个“按清单下载 + 生成 index.json”的脚本可在服务器执行