--- name: video-analysis description: 视频内容分析技能,支持视频转录,内容分析,知识提取。当用户提到分析视频、视频转录、提取视频内容时触发。 --- # 视频分析技能 ## 概述 | 能力 | 说明 | 脚本 | |-----|------|------| | 视频转录 | 使用Whisper等工具转录视频内容 | `scripts/transcribe_video.py` | | 快速转录 | 备用转录方案,支持多种方法 | `scripts/quick_transcribe.py` | | 内容分析 | 结构化分析视频内容,提取关键信息 | `scripts/analyze_video_content.py` | | 简单转录 | 基础转录功能 | `scripts/simple_transcribe.py` | | 音频转MP3 | 使用edge-tts生成音频 | `scripts/text_to_speech.py` | ## 配置 ### 环境要求 1. **FFmpeg**: 用于提取音频 2. **Whisper/faster-whisper**: 用于语音识别 3. **edge-tts**: 用于生成音频(微软TTS) 4. **Python依赖**: `openai-whisper`, `faster-whisper`, `edge-tts`, `pydub`, `moviepy` ### 安装依赖 ```bash pip install openai-whisper faster-whisper edge-tts pydub moviepy ``` ### 推荐:使用 faster-whisper(更快) ```bash # 比原版 Whisper 快10倍 pip install faster-whisper # 使用示例 python -c "from faster_whisper import WhisperModel; model = WhisperModel('tiny', device='cpu', compute_type='int8'); segments, info = model.transcribe('audio.wav', language='zh'); text = ' '.join([s.text for s in segments]); print(text)" ``` ### 推荐:使用 edge-tts 生成音频 ```bash pip install edge-tts # 使用示例 import edge_tts import asyncio async def main(): with open('script.txt', 'r', encoding='utf-8') as f: text = f.read() communicate = edge_tts.Communicate(text, 'zh-CN-XiaoxiaoNeural') await communicate.save('output.mp3') asyncio.run(main()) ``` ## 执行规范 ### 视频文件预处理 1. **文件名处理**: 避免中文特殊字符和引号 2. **编码检查**: 确保文件可正常读取 3. **路径处理**: 使用绝对路径或相对路径 ### 转录流程 1. 提取音频(WAV格式,16kHz,单声道) 2. 加载Whisper模型(自动下载tiny/base模型) 3. 执行转录 4. 保存文本结果 ### 分析流程 1. 读取转录文本 2. 结构化分析内容 3. 提取关键概念、技术、原理 4. 生成分析报告 ## 快速使用 ### 基础转录 ```bash python .opencode/skills/video-analysis/scripts/transcribe_video.py "video.mp4" ``` ### 快速转录(备用方案) ```bash python .opencode/skills/video-analysis/scripts/quick_transcribe.py "video.mp4" ``` ### 内容分析 ```bash python .opencode/skills/video-analysis/scripts/analyze_video_content.py "视频标题" "transcription.txt" ``` ## 故障排除 ### 常见问题 1. **Whisper模型下载失败**: 检查网络连接,或手动下载模型 2. **FFmpeg未安装**: 安装FFmpeg并添加到PATH 3. **内存不足**: 使用tiny模型而非base模型 4. **中文识别不准**: 尝试base模型或添加语言参数 ### 备用方案 如果本地Whisper太慢或不可用: 1. 使用在线API(需配置API Key) 2. 使用其他开源工具(FunASR等) 3. 手动转录关键部分 ## 应用场景 ### 知识提取 - 教育视频内容分析 - 技术教程转录 - 演讲/讲座内容整理 ### 内容分析 - 心理学视频技巧分析 - 商业策略视频解析 - 技能教学视频总结 ### 研究用途 - 媒体内容分析 - 语言模式研究 - 信息传播研究 ## 输出格式 ### 转录文本 - 纯文本格式 - 包含时间戳(可选) - 分段清晰 ### 分析报告 - JSON结构化数据 - 关键概念提取 - 技术要点总结 - 伦理风险评估 ## 最佳实践 1. **文件命名**: 使用英文名,避免特殊字符 2. **路径管理**: 保持工作目录整洁 3. **模型选择**: 根据需求选择tiny/base模型(faster-whisper推荐tiny) 4. **结果验证**: 人工检查关键部分准确性 5. **知识沉淀**: 转录结果存入知识库系统 6. **音频生成**: 生成MP3前先确保文本是纯文本(无MD格式) ## 常见问题 ### Whisper转录太慢 - 使用 faster-whisper 替代,比原版快10倍 - 使用 tiny 模型而非 base 模型 ### 生成MP3有杂音 - 确保输入文本是纯文本,无井号等特殊字符 - 使用 edge-tts 的 Xiaoxiao 语音效果较好 ## 相关技能 - `knowledge-base-builder`: 知识库建设框架 - `file-reader`: 文档读写编辑 - `log-analyzer`: 日志分析技能 --- *技能版本: v1.1.0* *创建日期: 2026-02-19* *更新日期: 2026-02-21* *新增: faster-whisper, edge-tts*