Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bilibili-Note

🎬 B站视频字幕摘要总结工具

一个用于获取B站视频字幕并生成结构化摘要的Python命令行工具。支持多种输出格式,可以帮助您快速了解视频内容要点。

✨ 特性

  • 🔍 自动获取字幕: 支持从B站视频URL自动提取字幕内容
  • 🤖 智能摘要: 支持本地摘要和AI摘要(OpenAI、Azure OpenAI)
  • 📝 多种格式: 支持Markdown、纯文本、JSON等输出格式
  • 🔧 高度可配置: 灵活的配置系统,支持自定义各种参数
  • 📊 批量处理: 支持批量处理多个视频
  • 🎯 关键信息提取: 自动提取关键要点、主题和关键词

🚀 快速开始

安装依赖

pip install -r requirements.txt

基本使用

# 处理单个视频
python main.py process "https://www.bilibili.com/video/BV1xx411c7mu"

# 指定输出格式
python main.py process "https://www.bilibili.com/video/BV1xx411c7mu" --format markdown

# 直接输出到控制台(不保存文件)
python main.py process "https://www.bilibili.com/video/BV1xx411c7mu" --no-save

# 批量处理
python main.py batch urls.txt

📋 功能模块

核心模块

  • bilibili_note.core.bilibili_api: B站API接口,负责获取视频信息和字幕数据
  • bilibili_note.core.subtitle_processor: 字幕处理器,负责清理、合并和格式化字幕
  • bilibili_note.core.summarizer: 摘要生成器,支持本地和AI摘要

输出模块

  • bilibili_note.output.formatter: 输出格式化器,支持多种输出格式

工具模块

  • bilibili_note.utils.config: 配置管理,支持YAML配置文件

📖 详细使用说明

命令行界面

处理单个视频

python main.py process [OPTIONS] URL

参数:

  • URL: B站视频链接

选项:

  • --format, -f: 输出格式 (markdown/txt/json)
  • --language, -l: 字幕语言代码
  • --output, -o: 输出文件路径
  • --no-save: 不保存文件,直接输出到控制台

批量处理

python main.py batch [OPTIONS] FILE

参数:

  • FILE: 包含视频链接的文本文件(每行一个链接)

选项:

  • --format, -f: 输出格式 (markdown/txt/json)
  • --language, -l: 字幕语言代码

配置管理

# 查看当前配置
python main.py config-show

# 设置配置
python main.py config-set --api-type openai --openai-key "your-api-key"

# 初始化配置文件
python main.py init-config

配置文件

工具支持YAML配置文件 (config.yaml),可以自定义各种参数:

bilibili:
  headers:
    User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
    Referer: "https://www.bilibili.com/"
  timeout: 30

summarizer:
  api_type: "local"  # local, openai, azure
  openai_api_key: ""
  model: "gpt-3.5-turbo"
  max_tokens: 1000
  temperature: 0.3

output:
  format: "markdown"  # markdown, txt, json
  output_dir: "output"
  include_timestamp: true

subtitle:
  language: "zh-CN"
  merge_threshold: 2.0

AI摘要配置

要使用AI摘要功能,需要配置相应的API密钥:

OpenAI配置

# 设置OpenAI API密钥
python main.py config-set --api-type openai --openai-key "sk-your-api-key"

# 设置使用的模型
python main.py config-set --model "gpt-4"

📁 项目结构

Bilibili-Note/
├── bilibili_note/           # 主要代码目录
│   ├── core/                # 核心功能模块
│   │   ├── bilibili_api.py  # B站API接口
│   │   ├── subtitle_processor.py  # 字幕处理
│   │   └── summarizer.py    # 摘要生成
│   ├── output/              # 输出格式化
│   │   └── formatter.py     # 格式化器
│   ├── utils/               # 工具模块
│   │   └── config.py        # 配置管理
│   └── main.py              # 主程序CLI
├── tests/                   # 测试目录
├── examples/                # 示例文件
├── output/                  # 默认输出目录
├── main.py                  # 入口脚本
├── requirements.txt         # 依赖文件
├── config.yaml             # 配置文件
└── README.md               # 说明文档

🔧 开发环境

环境要求

  • Python 3.7+
  • 依赖包见 requirements.txt

安装开发依赖

# 克隆项目
git clone https://github.com/your-username/Bilibili-Note.git
cd Bilibili-Note

# 安装依赖
pip install -r requirements.txt

# 初始化配置
python main.py init-config

运行测试

# 运行单元测试
python -m pytest tests/

# 测试单个模块
python -m pytest tests/test_bilibili_api.py

📄 输出示例

Markdown格式

# 视频标题

## 视频信息

- **标题**: 视频标题
- **作者**: UP主名称
- **时长**: 10:30
- **BV号**: BV1xx411c7mu

## 内容摘要

本视频主要介绍了...

## 关键要点

1. 第一个要点
2. 第二个要点
3. 第三个要点

## 主要话题

`话题1` | `话题2` | `话题3`

JSON格式

{
  "video_info": {
    "title": "视频标题",
    "owner": "UP主名称",
    "duration": 630,
    "bvid": "BV1xx411c7mu"
  },
  "summary": {
    "summary_text": "视频摘要",
    "key_points": ["要点1", "要点2"],
    "topics": ["话题1", "话题2"]
  }
}

🤝 贡献

欢迎提交Issue和Pull Request!

贡献指南

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开Pull Request

📜 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

⚠️ 免责声明

本工具仅供学习和研究使用,请遵守B站的服务条款和相关法律法规。

🙏 致谢

About

B站视频字幕摘要总结。

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages