# DYVAnalyzer
**Repository Path**: StarsPython/dyvanalyzer
## Basic Information
- **Project Name**: DYVAnalyzer
- **Description**: 抖音短视频AI类目编码分析系统,数据清洗,AI智能编码、编码效果文本数据导出
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-11-08
- **Last Updated**: 2025-11-13
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 抖音视频内容分析工具
基于大模型的视频内容理解与分析系统
## 📋 项目简介
抖音视频内容分析工具是一个基于AI大模型的视频内容理解系统,能够自动分析抖音及其他短视频平台的视频内容,提取关键信息,生成结构化报告。系统历经三个主要版本的演进,从最初的视觉内容分析,到轻量化设计,再到现在的关键词匹配与AI智能推断结合的编码分析系统。
### 整体项目架构
本项目按版本划分为三个主要分支:V1、V2和V3,每个版本针对不同的应用场景和技术需求进行了优化和改进。
### 应用场景
- **内容审核与监控**:快速识别视频中的敏感内容和违规元素
- **市场研究分析**:分析竞品视频的内容特点和表现形式
- **内容推荐优化**:提取视频特征用于推荐算法优化
- **视频内容归档**:自动生成视频内容摘要,便于检索和管理
- **视频编码分析**:根据编码类目表为视频生成标准规范的TXT文本数据
## 🏗️ 版本演进
### V1 版本:基础视觉分析系统
**核心定位**:基于智谱AI的完整视频内容分析解决方案
**主要功能**:
- 视频帧智能提取(支持多种抽帧策略)
- 视觉内容理解(利用智谱AI大模型对视频帧进行深度分析)
- 多维度内容分析(识别场景、人物、活动、商品等)
- 结构化报告生成(支持JSON、Markdown、HTML等多种输出格式)
- 批量处理能力(支持多个视频并行或串行分析)
**技术特点**:
- 模块化设计,包含配置管理、视觉分析、文本分析、文本生成等多个模块
- 完整的错误处理机制和日志系统
- 丰富的模板系统,支持自定义报告格式
**典型应用场景**:需要完整视频分析流程和详细报告的场景
### V2 版本:轻量化AI视频编码分析系统
**核心定位**:聚焦于视频内容编码分析的轻量化解决方案
**主要功能**:
- 视频内容智能分析与特征提取
- 多维度编码体系(场景设定、内容风格、叙事方式等)
- 文本自动补充与质量优化
- 编码映射、验证和规范化处理
- 结构化结果输出(支持TXT格式)
**技术特点**:
- 精简架构,专注于编码分析功能
- 使用DeepSeek API进行AI分析
- 完善的错误处理和重试机制
- 支持UV虚拟环境管理
**典型应用场景**:需要高效视频编码分析,生成标准化结果的场景
### V3 版本:关键词匹配与AI智能推断结合系统
**核心定位**:结合规则和AI的高效视频编码分析系统
**主要功能**:
- 根据样本数据表生成对应标准规范的TXT文本数据
- 使用DeepSeek进行AI智能编码分析
- 结合关键词匹配和AI推断,提高编码准确性
- 对于无法识别的字段采用随机不均匀填充策略
- 生成包含原始字段和编码字段的整齐规范TXT文件
**技术特点**:
- 两级分析策略:先规则匹配,后AI推断
- 高效处理样本数据和编码类目表
- 简化的项目结构,易于使用和部署
- 对异常情况的健壮处理
**典型应用场景**:需要大规模、高效率地对视频样本进行标准化编码的场景
## 🛠️ 技术栈
- **编程语言**:Python 3.7+
- **视频处理**:OpenCV, MoviePy, FFmpeg
- **AI服务**:智谱AI大模型API, DeepSeek API
- **数据处理**:NumPy, Pandas, NLTK, Jieba
- **报告生成**:Jinja2, Markdown, HTML
- **命令行工具**:Click, Argparse, tqdm
- **配置管理**:python-dotenv, PyYAML
## 📦 安装部署
### 通用环境要求
- Python 3.7 或更高版本
- 根据不同版本需要配置对应的API密钥
### 各版本安装指南
#### V1 版本
```bash
cd V1
pip install -r ../requirements.txt
```
配置智谱AI API密钥:
```
# .env
ZHIPU_API_KEY=your_api_key_here
```
#### V2 版本
```bash
cd V2
pip install -r requirements.txt
```
配置DeepSeek API密钥:
```
# .env
DEEPSEEK_API_KEY=your_api_key_here
DEEPSEEK_API_URL=https://api.deepseek.com/v1/chat/completions
```
#### V3 版本
```bash
cd V3
pip install -r requirements.txt
```
配置DeepSeek API密钥:
```
# .env
DEEPSEEK_API_KEY=your_api_key_here
```
## 🚀 使用指南
### V1 版本使用
#### 命令行工具
```bash
# 基本用法 - 分析视频并输出JSON格式结果
python -m src.cli.cli analyze --video sample.mp4 --output result.json
# 指定输出格式为Markdown
python -m src.cli.cli analyze --video sample.mp4 --format markdown --output report.md
```
#### 编程接口使用
```python
from src.main.main_analyzer import VideoAnalyzer
# 初始化分析器
analyzer = VideoAnalyzer(api_key="your_api_key")
# 分析单个视频
result = analyzer.analyze_video(
video_path="sample.mp4",
output_format="json",
extraction_strategy="interval",
extraction_params={"interval": 10},
output_file="result.json"
)
```
### V2 版本使用
#### 命令行工具
```bash
# 单视频分析
python main.py --video <视频路径或URL> --output <输出目录>
# 批量视频分析
python main.py --batch <视频目录> --output <输出目录>
```
#### 作为模块使用
```python
from src.config_loader import ConfigLoader
from src.video_analyzer import VideoAnalyzer
from src.text_completer import TextCompleter
# 加载配置
config = ConfigLoader()
# 创建分析器
analyzer = VideoAnalyzer(config)
# 分析视频
result = analyzer.analyze_video("path/to/video.mp4")
# 补充文本
completed_result = completer.process_text_completion(result)
```
### V3 版本使用
```bash
# 准备数据文件
# 确保样本数据表位于 ../data/样本数据表.csv
# 确保编码类目表位于 ../data/编码类目表.txt
# 运行主程序
python main.py
```
处理结果将保存在 `results/` 目录下,每个视频生成一个以视频ID命名的TXT文件。
## ⚙️ 配置说明
### V1 配置
配置文件位于根目录下的`config.yaml`,包含系统基础配置、视频处理配置、视觉分析配置等多个部分。
### V2 配置
配置文件位于`config/`目录下,包含编码类目配置和提示词配置。
### V3 配置
主要通过`.env`文件配置API密钥,程序使用硬编码的默认配置。
## 📊 输出格式
### V1 输出格式
支持JSON、Markdown和HTML三种输出格式,包含完整的视频分析信息。
### V2 输出格式
结构化的TXT文件,包含视频ID、分析结果、编码结果等信息。
### V3 输出格式
TXT文件包含原始字段和编码字段两部分:
```
=== 原始字段 ===
视频ID: 7559043228595457321
达人昵称: 白日梦想家
达人简介: 我在英国做的事,不要问。猜到了,不要说。
答案在:@世界上没有柠檬
商务: B2828BAI(备注来意,品牌)
视频描述: #开学基础开学的vlog就不基础 #精神状态belike #留学日常 #vlog十亿流量扶持计划 #挥霍教程
大家都在搜: 30万英镑等于多少人民币
发布时间: 2025-10-09 10:28:26
点赞量: 2313703
=== 编码字段 ===
场景设定: 生活场景
声音素材: 博主原声
主题类型: 生活实用
视频情感倾向: 积极正向
话题标签: 关联或创建话题
作者昵称类型: 自身状态
作者简介内容: 业务咨询
```
## 📁 项目结构
```
DYVideoAnalysiser/
├── V1/ # V1版本
│ ├── src/ # 源代码目录
│ │ ├── apis/ # API调用模块
│ │ ├── cli/ # 命令行接口
│ │ ├── formatters/ # 结果格式化模块
│ │ ├── main/ # 主程序模块
│ │ ├── prompts/ # 提示词管理
│ │ └── video/ # 视频处理模块
│ ├── tests/ # 测试代码
│ └── main.py # V1版本入口
├── V2/ # V2版本
│ ├── config/ # 配置文件
│ │ ├── encoding_categories.py # 编码类目配置
│ │ └── prompts.py # 提示词配置
│ ├── src/ # 源代码
│ │ ├── config_loader.py # 配置加载器
│ │ ├── encoding_processor.py # 编码处理器
│ │ ├── result_exporter.py # 结果输出器
│ │ ├── text_completer.py # 文本补充器
│ │ ├── utils.py # 通用工具函数
│ │ └── video_analyzer.py # 视频分析器
│ ├── tests/ # 测试文件
│ ├── docs/ # 文档
│ └── main.py # V2版本入口
├── V3/ # V3版本
│ ├── main.py # 主程序文件
│ ├── requirements.txt # Python依赖包
│ ├── .env # 环境变量配置
│ └── .env.example # 环境变量配置示例
├── data/ # 数据目录
├── results/ # 输出结果目录
├── config.yaml # 全局配置文件
├── requirements.txt # 项目依赖
└── README.md # 项目文档
```
## 🔍 高级功能
### V1 高级功能
- **自定义分析策略**:调整抽帧间隔、自定义提示词模板、修改分析类目和权重
- **性能优化**:并行处理、缓存机制、渐进式分析
- **多格式输出**:JSON、Markdown、HTML多种格式支持
### V2 高级功能
- **模块化设计**:视频分析器、文本补充器、编码处理器等组件可独立使用
- **错误处理机制**:完善的错误处理和重试机制
- **批量处理功能**:支持多视频批量分析和结果汇总
### V3 高级功能
- **混合编码策略**:关键词匹配 + AI智能推断 + 随机不均匀填充
- **高效处理**:优化的处理流程,适合大规模数据处理
- **格式标准化**:生成符合规范的TXT文件,便于后续处理
## ⚠️ 注意事项
1. **API使用限制**:使用AI API会消耗API调用配额,请合理使用
2. **视频版权**:请确保您有权分析和处理相关视频内容
3. **性能与资源**:处理长视频或批量分析时,建议在性能较好的机器上运行
4. **结果准确性**:AI模型分析结果仅供参考,部分复杂场景可能存在误判
5. **数据文件位置**:V3版本需要确保样本数据表和编码类目表放在正确位置
## 🛡️ 故障排除
### 常见问题
1. **API密钥错误**
- 检查API密钥是否正确
- 确认API密钥是否在有效期内
- 尝试通过不同方式提供API密钥
2. **视频处理失败**
- 确认视频文件格式是否支持
- 检查FFmpeg是否正确安装
- 尝试使用较小的视频文件测试
3. **分析结果不理想**
- V1/V2:调整抽帧策略,增加抽帧数
- V3:优化关键词匹配规则
- 检查视频质量,确保画面清晰
4. **内存溢出错误**
- 减少批量处理的视频数量
- 降低抽帧数或调整抽帧策略
- 增加系统内存或使用64位Python
## 📜 许可证
本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。
---