feat: 转场特效引擎 — 14种转场预设 + TransitionEngine抽象 + 降级策略 #293
Reference in New Issue
Block a user
Delete Branch "feat/transition-engine"
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?
转场特效引擎
基于 FFmpeg xfade 滤镜的统一转场抽象层,为统一渲染管道提供镜头间过渡效果能力。
核心能力
1. TransitionEngine 抽象层
TransitionType枚举:14种转场效果统一管理TransitionConfig配置类:解析+验证+边界钳制TransitionEngine引擎类:封装转场构建、降级、批量解析2. 14种转场预设
3. 转场时长
4. 降级策略
5. 剪辑计划集成
EditPlanClip新增transition_duration字段transition_effect已存在,扩展了支持的类型6. 别名系统
slide_left→slideleftwipe→wipeleft、zoom→zoomincrossfade→dissolve改动文件 (10个)
transition_engine.py— 转场引擎核心 (~500行)ffmpeg_utils.py— 扩展转场映射 (17种)unified_render_service.py— 接入TransitionEngineedit_plan_clip.py— 新增transition_duration字段models.py— 数据库新增列edit_plan_clip_repository.py— ORM映射edit_plan_service.py— Service层edit_plans.py— API Schemaedit_plans_timeline.py— 响应体test_transition_engine.py— 54个单测测试结果
✅ 代码审计通过
10个文件/921行,转场引擎架构设计优秀。
审查要点确认:
架构亮点: 新增转场只需加枚举项 + XFADE_TRANSITION_MAP映射,无需改核心逻辑
80edb5dd91to762d7838c9b49d3683a8to27f92a5aaf27f92a5aaftoed367de689d85a53ef7ato7dbff690cd