Initial commit of akmon project

This commit is contained in:
2026-01-20 08:04:15 +08:00
commit 77a2bab985
1309 changed files with 343305 additions and 0 deletions

57
video_splitter/README.md Normal file
View File

@@ -0,0 +1,57 @@
# 智能新闻拆条系统 (Smart News Splitter)
本项目演示了如何利用 **Qwen3-VL** 多模态大模型实现新闻节目的自动拆条、编目和入库。
## 项目结构
- `main.py`: 主程序入口协调预处理、AI分析和视频切割流程。
- `ai_agent.py`: 模拟 Qwen3-VL 的交互代理,负责视频内容理解和分段。
- `processor.py`: 封装 FFmpeg 操作,处理视频切割和音频提取。
- `requirements.txt`: 项目依赖。
## 核心流程
1. **预处理**: 提取视频音频,进行 ASR 转写(本项目使用模拟文本)。
2. **AI 分析**: 将视频帧和 ASR 文本发送给 Qwen3-VL模型返回结构化的新闻片段信息JSON
3. **物理切割**: 根据模型返回的时间戳,调用 FFmpeg 进行无损切割。
4. **自动编目**: 生成标题、摘要、标签和封面图,输出 `catalog_report.json`
## 快速开始
### 1. 安装依赖
确保系统已安装 [FFmpeg](https://ffmpeg.org/download.html) 并将其加入环境变量。
```bash
pip install -r requirements.txt
```
### 2. 运行拆条
准备一个新闻视频文件(例如 `news.mp4`),然后运行:
```bash
python main.py -i news.mp4 -o output_folder
```
> **注意**: 由于没有真实的 Qwen3-VL API Key`ai_agent.py` 目前返回的是模拟数据。在实际生产环境中,请替换 `analyze_video` 方法中的逻辑,接入 DashScope API。
## 实际接入指南
要接入真实的 Qwen3-VL请修改 `ai_agent.py`:
1. 安装 DashScope SDK: `pip install dashscope`
2. 配置 API Key: `dashscope.api_key = "YOUR_API_KEY"`
3. 构造多模态消息:
```python
messages = [
{
"role": "user",
"content": [
{"video": video_path},
{"text": "请分析这段视频,拆分出每条新闻..."}
]
}
]
```
4. 调用 `dashscope.MultiModalConversation.call()` 获取结果。