# 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 # 抖音视频内容分析工具
项目Logo

基于大模型的视频内容理解与分析系统

## 📋 项目简介 抖音视频内容分析工具是一个基于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) 文件。 ---

⭐️ 如果这个项目对您有帮助,请给它一个星标!