Skip to content

Repository files navigation

BiliTranscript — B 站视频文稿抓取(mac)

粘贴一条 B 站视频链接,自动抓取该视频的完整文稿,本地存储、可导出 Markdown / SRT。

功能

  • 三级字幕自动降级:人工 CC 字幕 → B 站 AI 字幕 → 本地 SenseVoice 语音转写。
  • 本地转写:复用 sherpa-onnx SenseVoice(中文高精度离线模型,网络断开也能转)。
  • 补标点分段:转写结果经本地 Ollama(qwen3)补标点、按语义分段。
  • 本地文件库~/Library/Application Support/BiliTranscript/library/<UP主名>/<标题>_pNN.txt,自动去重。
  • 导出:Markdown / SRT(CC/AI 字幕命中时为真实时间轴,转写来源为估算时间轴)。
  • 苹果风 UI:毛玻璃卡片、Lucide 图标、Plus Jakarta Sans 字体。

技术栈

Tauri 2 + React 18 + TypeScript + Vite + Tailwind CSS 4;抓取核心为 Python(yt-dlp + sherpa-onnx),Rust 通过子进程调用、以 NDJSON 事件回传进度。

环境依赖

  • macOS 13+(Apple Silicon)
  • Rust、Node 18+、pnpm
  • Python 3.10+(本项目用 .venv/opt/homebrew/bin/python3.12 -m venv .venv
  • ffmpeg(brew install ffmpeg
  • Ollama(可选,用于补标点:ollama pull qwen3:8b
  • SenseVoice 模型:下载 sherpa-onnx SenseVoice int8 模型(目录名 sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2025-09-09),放到 ~/models/ 下,或 export BILI_SENSEVOICE_DIR=/模型目录

开发

pnpm install
.venv/bin/pip install yt-dlp sherpa-onnx numpy
pnpm tauri dev       # 开发模式
pnpm tauri build     # 打包 .app / .dmg

命令行快速抓取(不经 UI)

.venv/bin/python python/main.py --url "https://www.bilibili.com/video/BV..." 
.venv/bin/python python/main.py --list
.venv/bin/python python/main.py --export <id> --format md

隐私与合规

  • 仅下载字幕/文本,不下载视频本体。
  • Cookie/登录态仅存本机。
  • 仅供个人学习交流,请勿用于商业或侵权用途。

About

B站/YouTube 视频文稿抓取:CC/AI 字幕三级降级 + 本地 SenseVoice 转写 + Ollama 补标点,Markdown/SRT 导出,内置 MCP 接口。Local-first transcript grabber (Tauri 2 + Python + sherpa-onnx).

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages