# video2html
**Repository Path**: benechen/video2html
## Basic Information
- **Project Name**: video2html
- **Description**: 给定一个视频url ,创建对应的html。从url所带的音频提取视频内容,整理并配上关键帧截图
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-04-03
- **Last Updated**: 2026-04-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# video2html
视频转 HTML 工具:将在线视频转换为带有转录文本和关键截图的 HTML 文档。
## 功能特性
- 支持从在线视频 URL 下载视频
- 提取视频音频并转录为文本
- 使用 Doubao LLM 识别文本中的关键上下文点
- 在关键时间点捕获视频截图
- 生成结构清晰、美观的 HTML 文档
- 支持命令行界面,使用简单
## 环境要求
- Python 3.10+
- Conda/Miniconda 环境
- GTX 4060 或更高性能的 GPU(用于 STT 模型)
- 4GB 以上 GPU 显存
- 网络连接(用于视频下载和 LLM API 调用)
## 安装步骤
1. **克隆项目**
```bash
git clone
cd video2html
```
2. **激活 conda 环境**
```bash
conda activate minus
```
3. **安装依赖**
```bash
# 已安装的依赖:LangChain, Volcengine SDK
# 安装其他依赖
python -m pip install -r requirements.txt
```
4. **配置环境变量**
设置 ARK_API_KEY 环境变量,用于调用 Doubao LLM API:
```bash
# Windows
set ARK_API_KEY=your-api-key
# Linux/Mac
export ARK_API_KEY=your-api-key
```
## 使用方法
### 命令行使用
```bash
python main.py <视频URL>
```
**参数说明:**
- `<视频URL>`: 要处理的视频 URL(必填)
- `--output`, `-o`: 输出目录(默认:output)
- `--model`, `-m`: STT 模型名称(默认:small)
- `--verbose`, `-v`: 详细输出
**测试案例:**
```bash
python main.py https://www.bilibili.com/video/BV1Zk9FBwELs
```
### 代码使用
```python
from src.pipeline.orchestrator import VideoProcessingPipeline
pipeline = VideoProcessingPipeline()
success, result = pipeline.run("https://www.bilibili.com/video/BV1Zk9FBwELs")
if success:
print(f"HTML 文档生成成功: {result['html_path']}")
else:
print(f"处理失败: {result}")
```
## 项目结构
```
video2html/
├── src/
│ ├── video_processing/ # 视频下载和处理模块
│ ├── stt/ # 语音转文本模块
│ ├── key_points/ # 关键点识别模块
│ ├── screenshot/ # 截图捕获模块
│ ├── html/ # HTML 生成模块
│ ├── pipeline/ # 工作流编排模块
│ └── cli/ # 命令行界面模块
├── main.py # 入口脚本
├── requirements.txt # 依赖项文件
├── .gitignore # Git 忽略文件
├── test_*.py # 测试脚本
└── README.md # 本文档
```
## 技术栈
- **视频处理**: yt-dlp, OpenCV
- **语音转文本**: Whisper (OpenAI)
- **LLM 集成**: Volcengine Ark SDK (Doubao LLM)
- **HTML 生成**: 自定义模板
- **命令行界面**: argparse
- **环境管理**: Conda/Miniconda
## 测试和验证
使用以下命令测试功能:
```bash
# 测试视频下载和处理
python test_video_download.py
# 测试语音转文本转录
python test_stt_transcriber.py
# 测试关键点识别
python test_key_point_identifier.py
# 测试截图捕获
python test_screenshot_capture.py
# 测试 HTML 生成
python test_html_generator.py
# 测试完整工作流
python test_pipeline.py
```
## 注意事项
1. 首次运行时,Whisper 模型会自动下载,可能需要一些时间
2. 处理较长视频时,转录和分析过程可能需要较长时间
3. 确保网络连接稳定,特别是下载视频和调用 LLM API 时
4. GPU 内存不足时,Whisper 会自动切换到 CPU 模式,但处理速度会变慢
## 故障排除
- **视频下载失败**: 检查网络连接,确保视频 URL 有效
- **转录失败**: 检查 GPU 内存是否足够,或尝试使用更小的 STT 模型
- **LLM API 调用失败**: 检查 ARK_API_KEY 是否正确设置
- **截图捕获失败**: 检查视频文件是否存在,以及 OpenCV 是否正确安装
## 许可证
MIT License