# Task Breakdown / 任务拆分

## Overview / 概述

| Status      | Count |
| ----------- | ----- |
| Total       | 7     |
| Done        | 7     |
| In Progress | 0     |
| Pending     | 0     |

## Tasks / 任务列表

### High Priority / 高优先级

- [x] T1: 实现 FFmpeg 检测功能
  - 检查 ffmpeg 命令是否可用
  - 提供各平台安装指引

- [x] T2: 实现单格式压缩逻辑
  - 根据格式选择编码器和参数
  - 调用 FFmpeg 执行压缩
  - 处理压缩结果

- [x] T3: 实现智能格式选择 (try_all_formats_and_select_smallest)
  - 尝试 MP4、MKV、WebM 格式
  - 比较文件大小
  - 选择最小的作为最终输出

### Medium Priority / 中优先级

- [x] T4: 实现视频信息获取
  - 调用 FFprobe 获取视频信息
  - 获取原始文件大小

- [x] T5: 实现输出路径生成
  - 默认输出 `l-output-compress-video.{ext}`
  - 支持自定义输出路径

- [x] T6: 集成到 CLI 命令系统
  - 添加 CompressArgs 结构
  - 添加 VideoFormat 枚举
  - 实现 handle_ffmpeg_command 分支

### Low Priority / 低优先级

- [x] T7: 添加用户友好的输出信息
  - 显示原始大小
  - 显示各格式压缩大小（智能模式）
  - 显示最终压缩率
  - 成功/失败状态提示
