feat: 视频合成完成后生成封面 #1255
Reference in New Issue
Block a user
Delete Branch "feature/integrate-cover-generation"
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?
需求
在视频生成完成后,根据 plan.config.cover_config 配置生成封面
实现
apps/worker/worker_app/tasks/compose_video.pyenabled=false→ 不生成封面enabled=true, mode=smart→ 调用 extract_smart_cover()(抽取3帧选最清晰的)enabled=true, mode=time→ 调用 extract_frame()(指定时间抽帧)enabled=true, mode=custom→ 处理自定义上传封面测试
验证方式
🚀 预览环境已部署
代码审查结果 - PR #1255
⚠️ 问题(1个需要修改)
cover_url硬编码且未使用实际生成的文件路径。generate_cover_from_plan获取了实际生成的封面路径cover_path,但在构建cover_url时完全忽略了该返回值,直接使用了硬编码的格式f"/covers/{plan_id}.jpg"。generate_cover_from_plan将文件生成在临时目录(如/tmp)或未自动移动到/covers/目录下,返回给上层的cover_url将是一个无效路径(404),导致前端无法显示封面,造成数据不一致。💡 建议(1个可选)
from video_processing...和from packages.adapters...)移至文件顶部,除非是为了解决循环依赖或特定的延迟加载需求,否则这不符合 Python 的常规编码规范(PEP 8)。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能良好
🤖 由 AI 代码审查机器人自动生成 | 2026-08-07 04:45:08 | 模型:
🗑️ 预览环境已清理
PR #1255 已关闭或合并,对应的预览环境已被清理。