fix: Worker容器安装CJK中文字体 — 修复ASS字幕标题不渲染 #1400
Reference in New Issue
Block a user
Delete Branch "fix/worker-cjk-fonts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
预览视频标题不显示。PR #1399 代码链路正确(custom_title注入→ASS生成→FFmpeg烧录),但Worker容器没有中文字体,FFmpeg subtitles滤镜找不到思源黑体,所有中文glyph缺失导致标题静默跳过。
根因
Worker容器(Debian 13)只装了fonts-dejavu-core(拉丁字符),没有CJK字体。FFmpeg报Glyph not found。
修复
worker.Dockerfile runtime阶段安装fonts-noto-cjk + fc-cache
🚀 预览环境已部署
代码审查结果 - PR #1400
⚠️ 问题(1个需要修改)
RUN apt-get install ...指令被放置在COPY apps/worker/ ...之后。根据 Docker 构建机制,只要业务代码发生变更,后续的层缓存都会失效。fonts-noto-cjk是一个体积很大的包(通常数百MB),这意味着每次业务代码提交都会触发重新下载和安装该字体包,极大地增加构建时间和资源消耗。RUN指令移动到COPY apps/worker/ ...之前(例如放在COPY之前或与其他系统依赖安装放在一起),确保该层被业务代码变更之外的缓存命中。💡 建议(1个可选)
fc-cache -fv中的-v(verbose) 参数会输出大量详细信息,建议移除以保持构建日志简洁,仅保留fc-cache -f即可。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ⚠️ 建议关注性能
🤖 由 AI 代码审查机器人自动生成 | 2026-08-17 03:35:58 | 模型:
🗑️ 预览环境已清理
PR #1400 已关闭或合并,对应的预览环境已被清理。