Install
openclaw skills install bilibili-video-analyzerAnalyzes Bilibili academic/educational videos to extract knowledge points and generate clean-style study notes with screenshots. Use this skill when users pr...
openclaw skills install bilibili-video-analyzerThis skill analyzes Bilibili academic and educational videos to generate professional clean-style learning notes (清洁版学习笔记). It automates the complete workflow from video download and transcription to AI-powered content analysis and report generation with key screenshots.
📚 Extended Resources:
Trigger phrases:
pip install railgun-bili-tools
bili-dl --version
macOS:
brew install ffmpeg
Ubuntu/Debian:
sudo apt install ffmpeg
Windows: Download from ffmpeg.org and add to PATH
7-Step Automated Process:
bili-dl status
# If not logged in: bili-dl login
Extract metadata (title, uploader, duration) using BilibiliParser
bili-dl download <video_url> --quality 1080p --output <output_dir>
bili-dl transcribe <video_path> --model medium --srt
Claude analyzes the subtitle content and extracts:
title (10-15字)core_concept (20-30字核心概念)details (200-400字详细说明,Markdown格式)key_points (3-5个关键要点)timestamp (视频时间戳)Output JSON Structure:
{
"summary": "视频总览(100-200字)",
"knowledge_points": [...],
"key_screenshots": [
{"timestamp": 280, "description": "截图描述", "reason": "选择原因"}
],
"knowledge_framework": "知识体系结构",
"practical_value": "实践价值说明",
"learning_suggestions": ["学习建议1", "学习建议2", ...]
}
# 使用 scripts/screenshot_tool.py
ffmpeg -y -ss <timestamp> -i <video_path> -vframes 1 -q:v 2 <output.jpg>
Use scripts/report_generator.py to create clean-style learning notes
Output Format:
Based on successful case (BV1ms4y1Y76i):
| Metric | Standard | Example |
|---|---|---|
| 知识点数 | 6-10个 | 7个 |
| 单点字数 | 200-400字 | 平均320字 |
| 核心概念 | 20-30字 | 简洁有力 |
| 关键要点 | 3-5个/点 | 便于记忆 |
| 截图数量 | 10张 | 均匀分布 |
| 质量评分 | ≥25/28 | 优秀标准 |
📋 Use Quality Checklist for self-assessment
✅ Content Structure
✅ Knowledge Extraction
✅ Visual Support
✅ Summary Framework
from srt_parser import parse_srt_file, get_full_transcript
segments = parse_srt_file(srt_path)
full_text = get_full_transcript(segments, include_timestamps=False)
import subprocess
for ts in timestamps:
cmd = ["ffmpeg", "-y", "-ss", str(ts), "-i", video_path,
"-vframes", "1", "-q:v", "2", output_file]
subprocess.run(cmd)
import json
output_path.write_text(
json.dumps(analysis, ensure_ascii=False, indent=2),
encoding='utf-8'
)
scripts/srt_parser.py - Parse SRT subtitle filesscripts/screenshot_tool.py - Capture video frames at specific timestampsscripts/report_generator.py - Generate clean-style learning notesFor First-Time Users:
reports/2026-02-28/BV1ms4y1Y76i_*/For Experienced Users:
Current: v1.1.0 (2026-02-28)
See CHANGELOG.md for version history.