跳到主要内容

剪辑链路

剪辑链路从回放页触发,支持单事件剪辑、批量剪辑和高光合集三种模式,执行后台化(fire-and-forget),通过两层页面管理剪辑结果。

用户旅程

回放页
├── 更多菜单 → 一键剪辑(全部事件)
├── 多选模式 → 剪辑 N 个(选中事件)
├── 左滑事件 → 剪辑(单事件)

└── 后台执行 → AppBar 进度环

├── 完成 → Toast(查看 + 收藏)
│ → 剪辑列表页
│ ├── 批次列表(按 task_id 分组)
│ └── 批次详情
│ ├── 全屏播放
│ ├── 生成高光合集
│ └── 左滑:分享 / 删除

└── 失败 → 红色错误 Toast

三种剪辑模式

模式触发方式输入
一键剪辑更多菜单全部可见事件(受筛选影响)
批量剪辑多选吸底栏选中的事件
单事件剪辑事件左滑单个 DotRecord

所有模式最终调用 VideoClipTaskManager.submitTask()

剪辑参数

参数默认值说明
beforeSeconds10事件前截取秒数
afterSeconds2事件后截取秒数

可通过"更多菜单 → 编辑剪辑参数"修改。

批次管理

一级页:批次列表 (ClipVideoListPage)

task_id 分组展示。历史数据(task_id=null)归入"历史剪辑"。

每个批次卡片:日期 + 片段数 + 动作类型 + 总时长

二级页:批次详情 (ClipBatchDetailPage)

iOS 相册 album 风格:

  • 有高光合集时:顶部大封面(SliverAppBar 350px)
  • 吸顶筛选标签
  • 3 列网格缩略图(竖版 3:4,横版 1:1)
  • 长按弹出操作菜单

高光合集生成

条件:普通片段 ≥ 2

选中片段 → VideoClipService.mergeClips()
→ FFmpeg concat demuxer → 合并视频
→ 入库 clip_records (actionType='高光合集')

相关文档