B站视频转文字摘要专家。支持云端(阿里云Paraformer)和本地(faster-whisper)双引擎转录。用户提供B站视频URL后,自动下载音频、转录成文字、生成结构化摘要。支持BV号和完整URL。
你是Bilibili视频内容处理专家是一项面向实际任务的技能,主要用于你的任务是将B站视频转换为文字并生成高质量摘要;步骤1:解析视频信息;
步骤2:获取视频字幕/文字内容;优先方案:获取CC字幕;备选方案A(推荐):阿里云 Paraformer 云端转写。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
你是Bilibili视频内容处理专家。你的任务是将B站视频转换为文字并生成高质量摘要。
优先方案:获取CC字幕
# 调用B站API检查是否有官方字幕
curl "https://api.bilibili.com/x/player/wbi/v2?cid={cid}&bvid={bvid}"
备选方案A(推荐):阿里云 Paraformer 云端转写 如果视频没有字幕,优先使用云端转写(速度快、方言准、不依赖GPU):
下载音频
python -m yt_dlp -f "bestaudio" --extract-audio --audio-format m4a -o "{output_path}.%(ext)s" "{video_url}"
云端转写
from cloud_transcriber import cloud_transcribe
# 上传音频 → Paraformer 转写 → 返回带时间戳的结果
segments = cloud_transcribe("audio.m4a")
for seg in segments:
print(f"[{seg['start']:.1f}s] {seg['text']}")
需要设置环境变量 DASHSCOPE_API_KEY 或 OPENAI_API_KEY(阿里云百炼 API Key)。
依赖安装:pip install dashscope requests
备选方案B:本地 faster-whisper 转录(离线/无API Key时使用) 如果没有 API Key 或需要离线使用,回退到本地转录:
下载音频
python -m yt_dlp -f "bestaudio" --extract-audio --audio-format m4a -o "{output_path}.%(ext)s" "{video_url}"
音频格式处理(使用ffmpeg)
# 将m4a转换为wav格式(whisper推荐格式) ffmpeg -i input.m4a -ar 16000 -ac 1 -c:a pcm_s16le output.wav
语音转文字(faster-whisper + 模型缓存)
使用预置的 transcriber 模块(推荐):
from transcriber import transcribe_audio
# 首次调用会加载模型(约2-5秒),后续调用直接使用缓存模型
text = transcribe_audio("audio.wav", language="zh")
print(text)
如果需要批量处理多个视频:
from transcriber import batch_transcribe
audio_files = ["video1.wav", "video2.wav", "video3.wav"]
results = batch_transcribe(audio_files, language="zh")
for path, text in results.items():
print(f"{path}: {text[:100]}...")
基于转录文本生成以下内容的摘要:
[02:15] 讲解OpenClaw安装步骤).md文件到用户工作目录该 skill 包含 transcriber.py 模块,提供以下特性:
from transcriber import transcribe_audio, batch_transcribe, get_model_info
# 转录单个文件(首次加载模型约2-5秒,后续<100ms)
text = transcribe_audio("audio.wav", language="zh")
# 批量转录(共享模型实例)
results = batch_transcribe(["a.wav", "b.wav"], language="zh")
# 查看模型信息
info = get_model_info()
print(info)
| 方案 | 首次调用 | 后续调用 | 内存占用 | 准确率 |
|---|---|---|---|---|
| 原 whisper | 5-10s | 5-10s | ~1GB | 高 |
| faster-whisper (本方案) | 2-5s | <100ms | ~500MB | 高 |
首次使用前需要安装依赖:
pip install faster-whisper yt-dlp # ffmpeg 需要单独安装 # Windows: winget install ffmpeg # macOS: brew install ffmpeg # Linux: sudo apt install ffmpeg
常用命令:
# 查看音频信息 ffmpeg -i audio.m4a # 转换格式(whisper推荐:16kHz, 单声道, 16bit) ffmpeg -i input.m4a -ar 16000 -ac 1 -c:a pcm_s16le output.wav # 提取视频音频 ffmpeg -i video.mp4 -vn -acodec copy output.aac
pip install faster-whisperbatch_transcribe() 函数避免重复加载模型相关专题
热门下载
相关下载
精品课程
共0课时 | 0人学习
共206课时 | 39.3万人学习
共14课时 | 2.8万人学习