feat: 转场位置与类型随机化 (#1766) #1786
Reference in New Issue
Block a user
Delete Branch "feat/transition-randomization-1766"
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?
概述
Issue #1766:为不同变体生成差异化的转场序列(类型 + 时长 + 位置微调),打破"所有变体转场节奏完全一致"的结构相似性。
方案
1. 新增
transition_randomizer模块2. 渲染侧增强
xfade_builder.build_xfade_filter_chain支持逐转场独立时长(transition_durations)和位置偏移(jitters),向后兼容TransitionEngine.build_xfade_chain透传新参数unified_render_service提取 clip config 中的 jitter 传给引擎variant_plan_selector.reselect_clips_for_variant自动应用转场随机化3. 数据存储
transition_effect/transition_duration:每个 clip 独立存储(已有字段)transition_jitter:存入clip.config["transition_jitter"],渲染时读取文件变更
packages/domain/transition_randomizer.pypackages/domain/xfade_builder.pytransition_durations+jitters参数packages/domain/variant_plan_selector.pyapps/worker/video_processing/ffmpeg_utils.pyapps/worker/video_processing/transition_engine.pytransition_durations+jittersapps/worker/video_processing/unified_render_service.pytests/unit/test_transition_randomizer_1766.pytests/unit/test_xfade_per_transition_1766.py测试
验收标准(来自 #1766)
PR 目标:develop
🚀 预览环境已部署