Files
xiaoxia-saas/apps/worker
xiaoxia df0cc0c1b5 feat(worker): 参考视频风格分析模块 video_analyzer (#2051)
实现 v1.3 爆款视频参考风格分析 6 步管线:
  ① FFmpeg 抽关键帧(每 2s 一帧 + 场景切换帧)
  ② PySceneDetect ContentDetector(threshold=27) 镜头分割
  ③ OpenCV Farneback 光流运镜检测(推/拉/摇/移/zoom/static + 强度)
  ④ librosa BPM 分析(>110 fast_cut / 80-110 medium / <80 slow_cinematic)
  ⑤ OSS 上传关键帧 + 豆包 VLM 色调/构图/光线分析
  ⑥ 豆包 LLM 整合 style_guide JSON(失败走规则合成降级)

新增渲染参数映射:
- 运镜 → ken_burns 参数(push_in→zoom_in_slow、tilt_up→pan+zoom 等 11 种)
- 转场 → TransitionEngine xfade 名称(hard_cut→cut/dissolve/wipeleft 等)
- 色调 → FFmpeg eq + colorchannelmixer 预设(5 套:warm_vintage/cool_fresh/high_contrast/soft_pastel/dramatic_cinematic)
- BPM → BGM 选曲 BPM±5 提示
- build_render_params_for_clip() 按镜头索引聚合可直接喂 URS 的参数

降级链:
- FFmpeg 抽帧失败 → VLM 路径;OpenCV 不可用 → static/low;librosa 不可用 → VLM 估计;
- LLM/VLM 不可用 → 规则合成 style_guide;任意子步骤异常不抛,best-effort 返回最小可用 style_guide。

资源约束:参考视频 ≤60s/≤100MB,总超时 60s,临时帧 try/finally 清理。
依赖新增:scenedetect==0.6.4、librosa==0.10.2.post1、soundfile==0.12.1(requirements-worker.txt)。
orchestrator 改为从 apps.worker.viral_video.video_analyzer 导入 analyze_video_style,
传入 style_strength 透传 light/medium/strict 三档。
单测 48 条覆盖:映射函数/光流运镜判定/BPM 档位/规则合成/聚合输出/降级/临时文件清理。
2026-09-29 21:17:46 +08:00
..
2026-06-15 15:17:40 +08:00
2026-06-15 15:17:40 +08:00

xiaoxia-saas Worker

结构

  • worker_app/core/:worker 配置
  • worker_app/celery_app.py:Celery 应用入口
  • worker_app/tasks/:任务模块
  • main.py:本地调试入口

当前任务

  • worker.healthcheck