feat: 视频裁剪/分割能力(Trimming Engine) #296

Merged
xiaoxia merged 3 commits from feat/video-trimming into develop 2026-07-14 10:55:58 +08:00
Owner

功能说明

新增 TrimEngine 裁剪引擎,在统一渲染管道中加入素材片段裁剪能力。

## 功能说明 新增 TrimEngine 裁剪引擎,在统一渲染管道中加入素材片段裁剪能力。
xiaoxia force-pushed feat/video-trimming from 2a5bb88728 to 62565ffc12 2026-07-14 09:36:01 +08:00 Compare
Author
Owner

【代码审计】PR #296 视频裁剪/分割引擎 审查结论:通过

总览

  • 结论:通过
  • 问题统计:P0 x0项,P1 x0项,P2 x0项,P3 x0项
  • 核心改动:新增TrimEngine裁剪引擎,支持单段裁剪(start/end/duration三选二)和多段裁剪,集成到UnifiedRenderService

亮点

  • 三选二参数推导逻辑严谨,边界条件处理完善(负值钳制、超时长钳制、end<start处理)
  • 多级降级(无效配置→使用完整素材,无效段→跳过,不阻断渲染)
  • 与现有架构集成方式优雅(通过ResolvedClip扩展trim_config字段)
  • 单元测试覆盖率高(268行测试,覆盖边界值、异常场景、多段裁剪、旧格式兼容)
  • 向后兼容(支持trim_start/trim_end旧字段名和trim子字典两种格式)
  • 音视频同步裁剪,render_audio.py同步更新

注意事项

  • PR #298水印PR中也包含了trim_engine.py,合并时注意处理冲突(内容应一致)
  • 建议在文档中说明三选二参数的优先级规则

代码质量优秀,可直接合并。👍

【代码审计】PR #296 视频裁剪/分割引擎 审查结论:通过 ## 总览 - 结论:通过 ✅ - 问题统计:P0 x0项,P1 x0项,P2 x0项,P3 x0项 - 核心改动:新增TrimEngine裁剪引擎,支持单段裁剪(start/end/duration三选二)和多段裁剪,集成到UnifiedRenderService ## 亮点 - ✅ 三选二参数推导逻辑严谨,边界条件处理完善(负值钳制、超时长钳制、end<start处理) - ✅ 多级降级(无效配置→使用完整素材,无效段→跳过,不阻断渲染) - ✅ 与现有架构集成方式优雅(通过ResolvedClip扩展trim_config字段) - ✅ 单元测试覆盖率高(268行测试,覆盖边界值、异常场景、多段裁剪、旧格式兼容) - ✅ 向后兼容(支持trim_start/trim_end旧字段名和trim子字典两种格式) - ✅ 音视频同步裁剪,render_audio.py同步更新 ## 注意事项 - PR #298水印PR中也包含了trim_engine.py,合并时注意处理冲突(内容应一致) - 建议在文档中说明三选二参数的优先级规则 代码质量优秀,可直接合并。👍
xiaoxia force-pushed feat/video-trimming from 62565ffc12 to 10cc2c6bd5 2026-07-14 10:08:40 +08:00 Compare
xiaoxia added 2 commits 2026-07-14 10:36:48 +08:00
新增 TrimEngine 裁剪引擎,基于 FFmpeg trim/atrim 实现精确帧级裁剪:

核心能力:
- 入点出点裁剪:start_time / end_time / duration 三选二
- 边界自动钳制:超出素材时长自动修正,不阻断渲染
- 多段裁剪:一个素材可裁剪出多段(trim_segments)
- 音画同步:视频 + 音频同步裁剪

系统集成:
- UnifiedRenderService Step 1 接入视频裁剪(修复原有 filter_complex 路径未使用 start_time 的问题)
- render_audio 单 clip/多 clip/独立音轨 三处接入音频裁剪
- _resolve_clips 阶段解析裁剪配置 + 多段展开

129 个单测全绿(29 新增 + 100 现有)
chore: rebase到develop + 格式化代码
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m27s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 2m23s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 1m27s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 5m51s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
70e514b3e4
xiaoxia force-pushed feat/video-trimming from 10cc2c6bd5 to 70e514b3e4 2026-07-14 10:36:48 +08:00 Compare
xiaoxia added 1 commit 2026-07-14 10:48:37 +08:00
fix: isort import排序
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 46s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m31s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 1m21s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 5m10s
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
9426425c60
xiaoxia merged commit 527eb61f19 into develop 2026-07-14 10:55:58 +08:00
Sign in to join this conversation.