fix: musetalk_server 60fps降帧+超时终止+health GFPGAN字段 #2006

Merged
auto-approve-bot merged 1 commits from fix/musetalk-server-bugs into develop 2026-09-21 17:24:14 +08:00
Owner

修复 3 个 RTX2060 实机测试发现的 bug

Bug1: 60fps 降帧逻辑未生效(致命)

  • 输入视频>30fps时先ffmpeg降帧至25fps推理,推理后minterpolate MCI插帧回原帧率
  • 全程记录input_fps/inference_fps

Bug2: 推理超时后线程未终止,锁提前释放(致命)

  • 引入abort_event机制+全局ffmpeg子进程追踪
  • 超时:set event → kill ffmpeg → 等线程退出 → finally统一清理
  • /cancel接口同步使用abort_event+kill机制

Bug3: /health缺少GFPGAN状态

  • 新增gfpgan_loaded和gfpgan_load_error字段

Bonus

  • 动态超时:120s + 帧数×0.15s,上限1800s
  • GFPGAN异常改为log warning

影响范围

  • 仅deploy/gpu_worker/musetalk_server.py
  • gpu-poll.timer自动拉取到RTX2060
## 修复 3 个 RTX2060 实机测试发现的 bug ### Bug1: 60fps 降帧逻辑未生效(致命) - 输入视频>30fps时先ffmpeg降帧至25fps推理,推理后minterpolate MCI插帧回原帧率 - 全程记录input_fps/inference_fps ### Bug2: 推理超时后线程未终止,锁提前释放(致命) - 引入abort_event机制+全局ffmpeg子进程追踪 - 超时:set event → kill ffmpeg → 等线程退出 → finally统一清理 - /cancel接口同步使用abort_event+kill机制 ### Bug3: /health缺少GFPGAN状态 - 新增gfpgan_loaded和gfpgan_load_error字段 ### Bonus - 动态超时:120s + 帧数×0.15s,上限1800s - GFPGAN异常改为log warning ## 影响范围 - 仅deploy/gpu_worker/musetalk_server.py - gpu-poll.timer自动拉取到RTX2060
xiaoxia added 1 commit 2026-09-21 17:10:24 +08:00
fix: 修复 musetalk_server 三个关键bug
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m58s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m3s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 3m7s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m51s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 5m32s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 5m46s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 6m15s
AI Code Review / AI Code Review (pull_request) Successful in 6m46s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 7m56s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 13m5s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 10m46s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 33s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 47s
2d0f67ca38
Bug1: 60fps降帧逻辑未生效
- 输入视频>30fps时先用ffmpeg降帧至25fps再进行MuseTalk推理
- 推理完成后使用minterpolate MCI运动补偿插帧回原帧率
- 记录input_fps和inference_fps便于排查

Bug2: 推理超时后线程未终止,锁提前释放
- 引入abort_event机制,超时时set event让推理循环检测退出
- 全局追踪活跃ffmpeg子进程,超时时kill所有子进程
- 推理线程改为daemon线程,超时后等待线程退出再释放锁和清理目录
- /cancel接口同步使用abort_event+kill ffmpeg子进程机制

Bug3: /health接口缺少GFPGAN状态字段
- 新增gfpgan_loaded和gfpgan_load_error字段
- 模型加载时同步更新全局状态变量

Bonus:
- 动态超时计算:基础120s + 预估帧数*0.15s,上限1800s
- GFPGAN增强异常时log warning而非静默pass

🚀 预览环境已部署

项目 详情
PR号 #2006
预览链接 https://pr-2006.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #2006 | | 预览链接 | [https://pr-2006.preview.xiaoxiajianji.com](https://pr-2006.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot merged commit 7babea3d24 into develop 2026-09-21 17:24:14 +08:00
auto-approve-bot deleted branch fix/musetalk-server-bugs 2026-09-21 17:24:17 +08:00

🗑️ 预览环境已清理

PR #2006 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #2006 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.