From ea2db17b595f1e7f1958a32d9b6de777afb7aea3 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Mon, 17 Aug 2026 11:32:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20Worker=E5=AE=B9=E5=99=A8=E5=AE=89?= =?UTF-8?q?=E8=A3=85CJK=E4=B8=AD=E6=96=87=E5=AD=97=E4=BD=93=20=E2=80=94=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8DASS=E5=AD=97=E5=B9=95=E6=A0=87=E9=A2=98?= =?UTF-8?q?=E4=B8=8D=E6=B8=B2=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因:Worker容器(Debian 13)没有中文字体,FFmpeg subtitles滤镜 找不到思源黑体(Noto Sans CJK),所有中文字符glyph缺失导致标题 不显示。代码链路(generation.py→unified_render_service→ass_subtitle_builder) 完全正确,但容器缺字体导致渲染时静默跳过。 修复:worker.Dockerfile runtime阶段安装 fonts-noto-cjk + fc-cache fonts-noto-cjk 包含 Noto Sans CJK SC(简体中文),覆盖所有中文字符。 验证:手动在容器内执行ffmpeg -vf subtitles测试,修复前报 "Glyph not found",修复后正常渲染中文标题。 --- infra/docker/worker.Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/infra/docker/worker.Dockerfile b/infra/docker/worker.Dockerfile index 7805b9d79..07e701eac 100755 --- a/infra/docker/worker.Dockerfile +++ b/infra/docker/worker.Dockerfile @@ -67,6 +67,9 @@ RUN chmod +x /usr/local/bin/entrypoint-worker.sh # 业务代码(变化最频繁,放最后) COPY apps/worker/ /app/apps/worker/ + +# ---- Install CJK fonts for ASS subtitle rendering ---- +RUN apt-get update && apt-get install -y --no-install-recommends fonts-noto-cjk && fc-cache -fv && rm -rf /var/lib/apt/lists/* USER celery # Worker 入口点 -- 2.54.0