# 视频内容分析与处理系统

这是一个用于视频内容分析和处理的系统，主要用于服装展示视频的智能剪辑和内容分析。

## 功能特点

- 视频帧提取与分析
- 语音识别与内容分析
- 智能视频剪辑
- 多场景视频拼接
- 音频处理与配乐

## 系统要求

- Python 3.8+
- FFmpeg
- CUDA (可选，用于GPU加速)

## 安装步骤

1. 克隆项目到本地：

```bash
git clone [项目地址]
cd [项目目录]
```

2. 安装依赖：

```bash
pip install -r requirement.txt
```

3. 安装FFmpeg：
- Windows: 下载并添加到系统环境变量
- Linux: `sudo apt-get install ffmpeg`
- Mac: `brew install ffmpeg`

## 项目结构

```
.
├── config/          # 配置文件目录
├── data/           # 数据目录
│   ├── raw_video/  # 原始视频
│   └── audio_json/ # 音频分析结果
├── modules/        # 核心功能模块
├── utils/          # 工具函数
├── output/         # 输出目录
└── logs/           # 日志文件
```

## 使用说明

1. 准备视频文件：
   - 将待处理的视频文件放入 `data/raw_video/` 目录

2. 运行主程序：
```bash
python main.py
```

3. 处理流程：
   - 视频帧提取与分析
   - 同款服装片段识别
   - 口播内容分析
   - 走秀片段识别
   - 最终视频合成

## 性能指标

### 视频解码性能
- FFmpeg: 428秒，31帧，0.072fps
- OpenCV: 410秒，30帧，0.073fps
- PyAV: 10N*FFMPEG秒，30帧，0.073/10N fps
- MoviePy: 70秒，32帧（并行加速多线程-28秒）

### 文本分析指标
- 句级别分析：
  - 平均长度：1697.26
  - 最大长度：309620
  - 最小长度：80
  - 中位数：1400.0

- 字级别分析：
  - 平均长度：175.31
  - 最大长度：8735
  - 最小长度：20
  - 中位数：180.0

## 开发计划

1. 同品片段智能识别
   - 基于STT的内容筛选
   - 走秀视频片段识别
   - LLM辅助视频编排

2. 性能优化
   - 并行处理优化
   - GPU加速支持
   - 内存使用优化

## 环境配置

推荐使用conda环境：
```bash
conda create -n copywriter python=3.8
conda activate copywriter
```

## 注意事项

- 确保有足够的磁盘空间用于视频处理
- 建议使用GPU进行加速处理
- 处理大文件时注意内存使用

## 视频解码测速：
1、ffmpeg：428 sec；解码出31帧；解码速度：0.072fps
2、opencv：410 sec；解码出30帧；解码速度：0.073fps
3、pyav：10N*FFMPEG sec；解码出30帧；解码速度：0.073/10N fps
4、moviepy：70 sec；解码出32帧；(并行加速多线程-28 sec)



## 句级别分析：
len: 8238
mean: 1697.2568584607914
max: 309620
min: 80
众数： 240
中位数： 1400.0
方差： 13340283.518631646

## 字级别分析：
len: 70337
mean: 175.30670912890798
max: 8735
min: 20
众数： 240
中位数： 180.0
方差： 4195.700049248078

## TDDO:
1、抽帧筛查是否讲解同一件衣服，进行同品片段剪切。
    1、同品片段进行STT，基于STT内容筛选口播视频片段。（需完成字幕添加）
    2、基于STT内容和抽帧理解筛选走秀视频片段（姿态检测？）
    3、LLM编导完整视频。

## env: copywriter

## 流程：
1、抽帧，帧理解，裁切同款衣服视频片段（抽帧-单帧理解-两帧对比-同款裁切）
2、语音理解，查找关键口播片段进行裁切（STT-主播语句筛选-语句打标-口播语句筛选-口播视频片段拼接）
3、助播片段定位，查找走秀片段进行裁切（助播片段裁切-抽帧-单帧理解-走秀片段定位）