360 Secure SkillHub
360 安全技能中心

Bilibili Transcriber

根据用户提供的 Bilibili URL 或 BV ID,用 yt-dlp 下载视频、FFmpeg 提取 16kHz 单声道音频,再由 Vosk 离线模型转写为文本;支持中英文模型、输出到标准输出或文本文件,并提供安装依赖与模型的一键脚本;默认清理临时视频,会员视频需自备 Cookie。

gitbingxu
gitbingxu
热度 16.02
最近更新 2026-05-06 11:51:47
分类:效率依赖:代码执行 / 读写文件 / 第三方 API应用场景:文件转换 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add gitbingxu-bilibili-transcriber
Metadata
name
bilibili-transcriber
description
Download Bilibili videos and transcribe speech to text using yt-dlp + FFmpeg + Vosk. Use when the user provides a Bilibili URL (or BV ID) and wants (1) the full speech transcript, (2) to save the transcript to a file, or (3) a combined download+transcribe workflow. Supports Chinese (zh) and English (en). Self-contained — one setup script handles all dependencies.

Bilibili Transcriber

Downloads a Bilibili video then transcribes speech using offline Vosk models.

Prerequisites

brew install ffmpeg   # macOS (system-level, required)

One-click setup for everything else:

python3 scripts/setup.py

This installs vosk, yt-dlp (pip), and downloads the Chinese Vosk model (~40 MB). Add --lang en for English, --deps-only / --model-only for partial setup.

Scripts

scripts/
├── bilibili_transcribe.py    # download + transcribe pipeline
└── setup.py                  # one-click dependency & model install

Usage

# Basic: download + transcribe (output to stdout)
python3 scripts/bilibili_transcribe.py https://www.bilibili.com/video/BV1xx411c7mD

# Short BV ID
python3 scripts/bilibili_transcribe.py BV1xx411c7mD

# Save transcript to file
python3 scripts/bilibili_transcribe.py https://b23.tv/xxxxx --output transcript.txt

# English video
python3 scripts/bilibili_transcribe.py <url> --lang en

# Keep the downloaded video file
python3 scripts/bilibili_transcribe.py <url> --keep-video

# Member-only / bangumi (requires cookie)
python3 scripts/bilibili_transcribe.py <url> --cookie "your_cookie_string"

Arguments

Flag Default Description
url (required) B站 URL or BV ID
--output / -o stdout Write transcript to file
--lang zh zh or en
--model auto-detect Explicit Vosk model path
--cookie — Cookie string for logged-in/member-only videos
--keep-video false Don't delete the downloaded video

Setup Script

python3 scripts/setup.py              # full setup (zh model)
python3 scripts/setup.py --lang en    # download English model
python3 scripts/setup.py --deps-only  # only pip packages
python3 scripts/setup.py --list-models

Workflow

  1. yt-dlp downloads the video (best mp4 format available, Chrome impersonation for B站 anti-crawling)
  2. FFmpeg extracts audio → 16kHz mono WAV
  3. Vosk transcribes with offline model
  4. Temp files cleaned up automatically

Troubleshooting

  • "No Vosk model found": run python3 scripts/setup.py
  • "yt-dlp not found": run python3 scripts/setup.py
  • Member-only video fails: pass --cookie with your browser's Cookie header