feat(task): 添加转场效果相关属性和方法

- 新增 get_transition_type、get_transition_ms、has_transition 方法用于处理转场类型和时长
- 新增 get_overlap_tail_ms、get_transition_in_type、get_transition_in_ms 等方法处理入场转场
- 新增 get_transition_out_type、get_transition_out_ms、has_transition_out 等方法处理出场转场
- 新增 get_overlap_head_ms、get_overlap_tail_ms_v2 方法计算头部和尾部重叠时长
- 更新渲染视频处理器中使用新的转场相关方法计算 overlap 时长
This commit is contained in:
2026-01-14 09:30:09 +08:00
parent 71bd2e59f9
commit 2bded11a03
2 changed files with 68 additions and 3 deletions

View File

@@ -78,9 +78,11 @@ class RenderSegmentVideoHandler(BaseHandler):
logger.warning(f"[task:{task.task_id}] Failed to download overlay, continuing without it")
overlay_file = None
# 4. 计算 overlap 时长
overlap_head_ms = render_spec.get_overlap_head_ms()
overlap_tail_ms = render_spec.get_overlap_tail_ms()
# 4. 计算 overlap 时长(用于转场帧冻结)
# 头部 overlap: 来自前一片段的出场转场
overlap_head_ms = task.get_overlap_head_ms()
# 尾部 overlap: 当前片段的出场转场
overlap_tail_ms = task.get_overlap_tail_ms_v2()
# 5. 构建 FFmpeg 命令
output_file = os.path.join(work_dir, 'output.mp4')