# Requirement Specification / 需求规格说明

# ffmpeg-video-split

## Background / 背景

除了剪切视频片段外，用户还需要将长视频按固定时间间隔分割成多个文件。这在处理长视频、准备上传到有时长限制的平台、或分发大文件时非常有用。

## Goals / 目标

- [x] 实现基于 FFmpeg 的视频分割功能
- [x] 支持多种间隔格式 (30s, 5m, 1h, HH:MM:SS)
- [x] 自动获取视频时长并计算分割数量
- [x] 生成有序编号的输出文件

## Scope / 范围

### In Scope / 范围内

- 固定间隔分割
- 无损分割（使用 -c copy）
- 自动创建输出目录
- 顺序编号的输出文件 (video_0001.mp4, video_0002.mp4...)

### Out of Scope / 范围外

- 按文件大小分割
- 按场景检测分割
- 自定义命名模板

## Constraints / 约束条件

- 依赖外部 FFmpeg 和 FFprobe 工具
- 仅支持常见视频格式 (mp4, mkv, webm, mov, avi)
- 最后一个片段可能短于指定间隔

## Acceptance Criteria / 验收标准

- [x] `l ffmpeg split video.mp4 -i 30s` 每 30 秒分割一个文件
- [x] 间隔格式支持 30s, 5m, 1h, HH:MM:SS
- [x] 自动创建输出目录 `{原文件名}_split/`
- [x] 输出文件按顺序编号 `{原文件名}_0001.mp4`
- [x] 显示分割进度和结果统计

## Implementation / 实现

- **文件**: `src/commands/ffmpeg/split.rs`
- **命令**: `l ffmpeg split <INPUT> -i <INTERVAL> [-o OUTPUT_DIR]`
- **状态**: ✅ 已完成

## Open Questions / 待澄清问题

- (无)
