# 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