jpskill.com
📦 その他 コミュニティ

bilibili-analyzer

Bilibili動画の内容を自動で解析し、動画をフレームごとに分解、AIを使って分析することで、詳細なドキュメントや実践的なチュートリアルを作成するSkill。

📜 元の英語説明(参考)

自动分析B站视频内容,下载视频并拆解成帧图片,使用AI分析并生成详细的专题文档或实操教程。

🇯🇵 日本人クリエイター向け解説

一言でいうと

Bilibili動画の内容を自動で解析し、動画をフレームごとに分解、AIを使って分析することで、詳細なドキュメントや実践的なチュートリアルを作成するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o bilibili-analyzer.zip https://jpskill.com/download/16487.zip && unzip -o bilibili-analyzer.zip && rm bilibili-analyzer.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/16487.zip -OutFile "$d\bilibili-analyzer.zip"; Expand-Archive "$d\bilibili-analyzer.zip" -DestinationPath $d -Force; ri "$d\bilibili-analyzer.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して bilibili-analyzer.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → bilibili-analyzer フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
4

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Bilibili 動画アナライザー

説明

Bilibili(B站)動画コンテンツ分析ツールです。動画の URL を提供すると、自動的に動画をダウンロードし、フレーム画像に分解した後、AI を使用してコンテンツを分析し、最終的に高品質の特集ドキュメントまたは実践チュートリアルを生成します。

核心的な特徴:

  • 単純なタイムライン記録ではなく、再編成して整理された完全なドキュメント
  • 実践的な動画 → 直接使用できる操作チュートリアルを生成
  • 知識的な動画 → 構造化された特集ドキュメントを生成
  • レポートに重要なスクリーンショットを ![説明](./images/frame_xxxx.jpg) 形式で挿入

ソース & ドキュメント

ツール 用途 ドキュメント
FFmpeg 動画のフレーム分解 公式サイト / ドキュメント
Bilibili API 動画のダウンロード APIドキュメント

インストール

1. .NET 10 SDK のインストール

スクリプトは .NET 10 の単一ファイル実行機能を使用するため、.NET 10 SDK をインストールする必要があります。

ダウンロードアドレス: https://dotnet.microsoft.com/download/dotnet/10.0

インストールの検証:

dotnet --version

2. FFmpeg のインストール

Windows:

# Chocolatey
choco install ffmpeg

# または Scoop
scoop install ffmpeg

# または手動ダウンロード: https://ffmpeg.org/download.html

macOS:

brew install ffmpeg

Linux:

# Ubuntu/Debian
sudo apt install ffmpeg

# CentOS/RHEL
sudo yum install ffmpeg

インストールの検証:

ffmpeg -version

トリガー

  • /bilibili-analyzer コマンド
  • ユーザーが Bilibili 動画の分析をリクエスト
  • ユーザーが Bilibili 動画のリンクを提供し、分析を要求

提供されるスクリプト

本 skill は、動画のダウンロードとフレーム画像の抽出に使用する scripts/prepare.cs スクリプトを提供します。

スクリプトの場所: skills/tools/bilibili-analyzer/scripts/prepare.cs

実行方法: .NET 10 の単一ファイル実行機能を使用

使用方法

# 基本的な使い方
dotnet run scripts/prepare.cs "<動画URL>" -o <出力ディレクトリ>

# 例
dotnet run scripts/prepare.cs "https://www.bilibili.com/video/BV1xx411c7mD" -o ./output

# 長い動画(フレームレートを下げる)
dotnet run scripts/prepare.cs "https://www.bilibili.com/video/BV1xx411c7mD" -o ./output --fps 0.5

パラメータの説明

パラメータ 説明 デフォルト値
url Bilibili 動画 URL(必須) -
-o, --output 出力ディレクトリ 現在のディレクトリ
--fps 1秒あたりの抽出フレーム数 1.0
--similarity 類似度閾値(0-1)、この値を超えると隣接フレームが重複排除される 0.80
--no-dedup 類似フレームの重複排除を無効にする false
--video-only 動画のみをダウンロードし、フレームを抽出しない false
--frames-only フレームのみを抽出する(video.mp4 が既に存在する必要がある) false

類似フレームの重複排除

スクリプトは自動的に隣接フレームの類似度を検出し、閾値(デフォルト80%)を超える類似した重複フレームを削除します。

  • FFmpeg の SSIM/PSNR アルゴリズムを使用して類似度を計算
  • 隣接フレームのみを比較し、フレームを跨いでの比較は行わない
  • 重複排除後、自動的に番号を振り直す(frame_0001.jpg, frame_0002.jpg, ...)
  • --similarity 0.85 で閾値を調整可能
  • --no-dedup で重複排除を無効化可能

出力構造

<出力ディレクトリ>/
├── video.mp4           # ダウンロードされた動画ファイル
└── images/             # フレーム画像ディレクトリ
    ├── frame_0001.jpg
    ├── frame_0002.jpg
    ├── frame_0003.jpg
    └── ...

ワークフロー (プロンプト)

あなたは動画コンテンツ分析アシスタントです。ユーザーが Bilibili 動画のリンクを提供した場合、以下の手順を実行します。

Step 1: 動画のダウンロードとフレーム分解

提供されたスクリプトを使用して、動画をダウンロードし、フレーム画像に分解します。

dotnet run skills/tools/bilibili-analyzer/scripts/prepare.cs "<動画URL>" -o <出力ディレクトリ>

注意事項:

  • 短い動画(<10分): デフォルトの --fps 1 を使用
  • 中程度の動画(10-30分): --fps 0.5 を使用
  • 長い動画(>30分): --fps 0.2 を使用

Step 2: フレーム画像の分析

Task ツールを使用して、images/ ディレクトリ内の画像をバッチ処理で並行して分析します。

バッチ処理戦略(総画像数に基づいて動的に計算):

総画像数 バッチ数 1バッチあたりの画像数
1-30 1 バッチ 全部
31-60 2 バッチ 約 15-30 枚/バッチ
61-120 3 バッチ 約 20-40 枚/バッチ
121-200 4 バッチ 約 30-50 枚/バッチ
200+ 5 バッチ 平均分配

計算式:

総画像数 <= 30: 1 バッチ
総画像数 <= 60: 2 バッチ
総画像数 <= 120: 3 バッチ
総画像数 <= 200: 4 バッチ
総画像数 > 200: 5 バッチ

1バッチあたりの画像数 = 総画像数 / バッチ数(切り上げ)

:85 枚の画像がある場合 → 3 バッチに分割

Task 1: frame_0001.jpg ~ frame_0029.jpg(29枚)を分析
Task 2: frame_0030.jpg ~ frame_0058.jpg(29枚)を分析
Task 3: frame_0059.jpg ~ frame_0085.jpg(27枚)を分析

Task プロンプト テンプレート:

<出力ディレクトリ>/images/ ディレクトリ下の frame_0001.jpg から frame_0020.jpg(合計20枚の画像)を読み込んで分析してください。

【重要要求】
あなたの応答は、これらの画像の内容に関する【完全な詳細報告】でなければなりません。情報を省略しないでください。

各画像について、以下を詳細に記録してください。

1. **フレーム番号**: frame_xxxx.jpg
2. **シーンタイプ**: コードエディタ/ターミナル/ブラウザ/PPT/会話/その他
3. **インターフェースの内容**:
   - ウィンドウタイトル、メニュー、ボタンなどの UI 要素
   - 現在開いているファイル/ページ
4. **テキストの内容**:
   - 画面上のすべてのテキストを完全に転記
   - コードの内容(完全にコピーし、フォーマットを保持)
   - ターミナルコマンドと出力
   - コメントと説明文
5. **操作アクション**:
   - マウスの位置、クリックターゲット
   - 実行中の操作
6. **キー情報**:
   - 重要な設定項目
   - 重要なステップの説明
   - エラーメッセージまたは警告

【出力形式】

## frame_0001.jpg
- シーン: [シーンタイプ]
- 内容: [詳細な説明]
- テキスト/コード:

[完全なテキストまたはコードの内容]

- 操作: [実行中の操作]
- 要点: [キー情報]

## frame_0002.jpg
...

【注意】
- いかなる画像も省略しないでください
- コードとテキストは完全に転記する必要があります
- 情報は詳細であればあるほど良い

分析の要点:

  1. すべてのテキストとコードの内容を完全に転記する
  2. インターフェース要素と操作手順を詳細に説明する
  3. 各画像のキー情報を記録する
  4. 重要なスクリーンショットのフレーム番号を注釈する(例: frame_0042.jpg)

Step 3: ドキュメントの生成

動画の種類に応じて、分析結果を再編成して整理し、動画分析.md を生成します。

動画の種類の判断:

  • 実践的な動画: プログラミングチュートリアル、ソフトウェア操作、設定デモなど
  • 知識的な動画: 概念説明、原理分析、経験共有など

【重要】画像とコンテンツは厳密に対応している必要があります:

誤った例 ❌:
### Node.js のインストール
まず Node.js をダウンロード...
![スクリーンショット](./images/frame_0001.jpg)  ← 画像は他の内容である可能性がある

正しい例 ✅:
### Node.js のインストール
まず Node.js をダウンロード...
![frame_0015: Node.js 公式サイトのダウンロードページ](./images/frame_0015.jpg)  ← 画像は確かにダウンロードページ

ドキュメント生成の正しい流れ:

  1. まず、すべての Task から返された分析結果を整理する

    • すべてのフレームの分析内容をまとめる
    • 「フレーム番号 → 内容」の対応関係を確立する
  2. テーマごとに内容を再編成する(時間順ではない)

    • 関連する内容を同じ章に分類する
    • 各章に必要なフレームの情報を特定する
  3. 画像を挿入する際は必ず確認する

    • 現在の内容と直接関連する画像のみを挿入する
    • 画像の説明は、画像の実際のコンテンツを正確に反映する必要がある
    • 使用する形式: ![frame_xxxx: 画像の実際のコンテンツの説明](./images/frame_xxxx.jpg)
  4. コードは画像内の実際のコードから取得する必要がある

    • コードを自分で作成しない
    • コードブロックの出典を注釈する: <!-- 来自 frame_0025 -->

重要な原則:

  1. 図と文の対応 - 各画像は、そのコンテキストの内容と一致する必要がある
  2. タイムラインの羅列にしない - 内容を再編成し、記事を書くようにする
  3. 明確な構造 - 章の区分と論理的な順序がある
  4. コードの真実性 - 画像に表示されるコードのみを使用し、作成しない
  5. 独立した可読性 - 動画を見なくても完全に理解できる

出力形式

実践チュートリアル

# {チュートリアルのテーマ}

## 概要

{チュートリアルの目標}
{前提条件と要件}

## 環境準備

{インストールする必要があるソフトウェア}
{構成要件}

## 操作手順

### 1. {ステップのタイトル}

{詳細な説明、内容は下の画像と一致する必要がある}

![frame_xxxx: 画像の実際のコンテンツの正確な説明](./images/frame_xxxx.jpg)

<!-- コードは frame_xxxx から -->
```コードブロック```

### 2. {ステップのタイトル}

{詳細な説明}

![frame_xxxx: 正確な説明](./images/frame_xxxx.jpg)

...

## 完全なコード

<!-- frame_xxxx, frame_xxxx, frame_xxxx からの集計 -->
{すべてのコードスニペットをまとめ、出典フレーム番号を注釈する}

## よくある質問

{発生する可能性のある問題と解決策}

## まとめ

{コアポイントのレビュー}
{拡張学習の提案}

知識ドキュメント

# {テーマ}

## 概要

{テーマの背景紹介}
{なぜ重要なのか}

## {章1のタイトル}

{内容、図と対応している必要がある}

![frame_xxxx: 画像の実際のコンテンツの説明](./images/frame_xxxx.jpg)

## {章2のタイトル}

{内容}

![frame_xxxx: 画像の実際のコンテンツの説明](./images/frame_xxxx.jpg)

## コアポイント

- 要点1
- 要点2
- 要点3

## 拡張リーディング

{関連リソースと提案}

画像挿入の仕様

規則 説明
フレーム番号を必ず注釈する ![frame_0015: 説明](./images/frame_0015.jpg)
説明は正確でなければならない 画像の実際のコンテンツを説明し、期待されるコンテンツではない
コンテンツは一致する必要がある 画像の上/下のテキストは、画像の内容と関連している必要がある
コードの出典を注釈する <!-- コードは frame_0025 から -->
画像を無闇に挿入しない 適切な図がない場合は挿入せず、無理に図を当てはめない

API リファレンス

Bilibili API

スクリプトは Bilibili 公式 API を使用して動画をダウンロードします。

# 動画情報を取得
GET https://api.bilibili.com/x/web-interface/view?bvid=BV1xx411c7mD

# 再生アドレスを取得
GET https://api.bilibili.com/x/player/playurl?bvid=BV1xx411c7mD&cid={cid}&qn=80&fnval=1

API ドキュメント: https://github.com/SocialSisterYi/bilibili-API-collect

FFmpeg フレーム分解コマンド


# 1秒あたり1フレーム
ffmpeg -i video.mp4 -vf "fps=1" -q:v 2 image

(原文はここで切り捨てられています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Bilibili Video Analyzer

Description

B站视频内容分析工具。提供视频URL后,自动下载视频、拆解成帧图片,然后使用AI分析内容,最终生成高质量的专题文档或实操教程

核心特点:

  • 不是简单的时间线记录,而是重新组织整理成一篇完整的文档
  • 实操类视频 → 生成可直接使用的操作教程
  • 知识类视频 → 生成结构化的专题文档
  • 报告中插入关键截图,使用 ![描述](./images/frame_xxxx.jpg) 格式

Source & Documentation

工具 用途 文档
FFmpeg 视频拆帧 官网 / 文档
Bilibili API 视频下载 API文档

Installation

1. 安装 .NET 10 SDK

脚本使用 .NET 10 单文件执行功能,需要安装 .NET 10 SDK。

下载地址: https://dotnet.microsoft.com/download/dotnet/10.0

验证安装:

dotnet --version

2. 安装 FFmpeg

Windows:

# Chocolatey
choco install ffmpeg

# 或 Scoop
scoop install ffmpeg

# 或手动下载: https://ffmpeg.org/download.html

macOS:

brew install ffmpeg

Linux:

# Ubuntu/Debian
sudo apt install ffmpeg

# CentOS/RHEL
sudo yum install ffmpeg

验证安装:

ffmpeg -version

Trigger

  • /bilibili-analyzer 命令
  • 用户请求分析B站视频
  • 用户提供B站视频链接并要求分析

Provided Script

本 skill 提供了 scripts/prepare.cs 脚本用于下载视频和提取帧图片。

脚本位置: skills/tools/bilibili-analyzer/scripts/prepare.cs

运行方式: 使用 .NET 10 单文件执行功能

使用方法

# 基本用法
dotnet run scripts/prepare.cs "<视频URL>" -o <输出目录>

# 示例
dotnet run scripts/prepare.cs "https://www.bilibili.com/video/BV1xx411c7mD" -o ./output

# 长视频(降低帧率)
dotnet run scripts/prepare.cs "https://www.bilibili.com/video/BV1xx411c7mD" -o ./output --fps 0.5

参数说明

参数 说明 默认值
url B站视频URL(必需) -
-o, --output 输出目录 当前目录
--fps 每秒提取帧数 1.0
--similarity 相似度阈值(0-1),超过此值的相邻帧会被去重 0.80
--no-dedup 禁用相似帧去重 false
--video-only 只下载视频,不提取帧 false
--frames-only 只提取帧(需已有video.mp4) false

相似帧去重

脚本会自动对相邻帧进行相似度检测,去除相似度超过阈值(默认80%)的重复帧:

  • 使用 ffmpeg 的 SSIM/PSNR 算法计算相似度
  • 只比较相邻帧,不会跨帧比较
  • 去重后自动重新编号(frame_0001.jpg, frame_0002.jpg, ...)
  • 可通过 --similarity 0.85 调整阈值
  • 可通过 --no-dedup 禁用去重

输出结构

<输出目录>/
├── video.mp4           # 下载的视频文件
└── images/             # 帧图片目录
    ├── frame_0001.jpg
    ├── frame_0002.jpg
    ├── frame_0003.jpg
    └── ...

Workflow (Prompt)

你是一个视频内容分析助手。当用户提供B站视频链接时,按以下步骤执行:

Step 1: 下载视频并拆帧

使用提供的脚本下载视频并拆解成帧图片:

dotnet run skills/tools/bilibili-analyzer/scripts/prepare.cs "<视频URL>" -o <输出目录>

注意事项:

  • 短视频(<10分钟): 使用默认 --fps 1
  • 中等视频(10-30分钟): 使用 --fps 0.5
  • 长视频(>30分钟): 使用 --fps 0.2

Step 2: 分析帧图片

使用 Task 工具分批并行分析 images/ 目录中的图片。

分批策略(根据总图片数动态计算):

总图片数 分批数量 每批图片数
1-30 1 批 全部
31-60 2 批 约 15-30 张/批
61-120 3 批 约 20-40 张/批
121-200 4 批 约 30-50 张/批
200+ 5 批 平均分配

计算公式:

总图片数 <= 30: 1 批
总图片数 <= 60: 2 批
总图片数 <= 120: 3 批
总图片数 <= 200: 4 批
总图片数 > 200: 5 批

每批图片数 = 总图片数 / 分批数量(向上取整)

示例:假设有 85 张图片 → 分 3 批

Task 1: 分析 frame_0001.jpg ~ frame_0029.jpg(29张)
Task 2: 分析 frame_0030.jpg ~ frame_0058.jpg(29张)
Task 3: 分析 frame_0059.jpg ~ frame_0085.jpg(27张)

Task Prompt 模板:

读取并分析 <输出目录>/images/ 目录下的 frame_0001.jpg 到 frame_0020.jpg(共20张图片)。

【重要要求】
你的响应必须是这些图片内容的【完整详细报告】,不要省略任何信息。

对每张图片,详细记录:

1. **帧号**: frame_xxxx.jpg
2. **场景类型**: 代码编辑器/终端/浏览器/PPT/对话/其他
3. **界面内容**:
   - 窗口标题、菜单、按钮等UI元素
   - 当前打开的文件/页面
4. **文字内容**:
   - 完整转录屏幕上的所有文字
   - 代码内容(完整复制,保留格式)
   - 终端命令和输出
   - 注释和说明文字
5. **操作动作**:
   - 鼠标位置、点击目标
   - 正在进行的操作
6. **关键信息**:
   - 重要的配置项
   - 关键步骤说明
   - 错误信息或警告

【输出格式】

## frame_0001.jpg
- 场景: [场景类型]
- 内容: [详细描述]
- 文字/代码:

[完整的文字或代码内容]

- 操作: [正在进行的操作]
- 要点: [关键信息]

## frame_0002.jpg
...

【注意】
- 不要省略任何图片
- 代码和文字必须完整转录
- 信息越详细越好

分析要点:

  1. 完整转录所有文字和代码内容
  2. 详细描述界面元素和操作步骤
  3. 记录每张图片的关键信息
  4. 标注重要的截图帧号(如 frame_0042.jpg)

Step 3: 生成文档

根据视频类型,将分析结果重新组织整理视频分析.md

判断视频类型:

  • 实操类: 编程教程、软件操作、配置演示等
  • 知识类: 概念讲解、原理分析、经验分享等

【关键】图片与内容必须严格对应:

错误示例 ❌:
### 安装 Node.js
首先下载 Node.js...
![截图](./images/frame_0001.jpg)  ← 图片可能是其他内容

正确示例 ✅:
### 安装 Node.js
首先下载 Node.js...
![frame_0015: Node.js官网下载页面](./images/frame_0015.jpg)  ← 图片确实是下载页面

生成文档的正确流程:

  1. 先整理所有 Task 返回的分析结果

    • 汇总所有帧的分析内容
    • 建立「帧号 → 内容」的对应关系
  2. 按主题重新组织内容(不是按时间顺序)

    • 将相关内容归类到同一章节
    • 确定每个章节需要哪些帧的信息
  3. 插入图片时必须核对

    • 只插入与当前内容直接相关的图片
    • 图片描述要准确反映图片实际内容
    • 使用格式: ![frame_xxxx: 图片实际内容描述](./images/frame_xxxx.jpg)
  4. 代码必须来自图片中的实际代码

    • 不要自己编造代码
    • 代码块标注来源: <!-- 来自 frame_0025 -->

重要原则:

  1. 图文对应 - 每张图片必须与其上下文内容匹配
  2. 不要时间线流水账 - 重新组织内容,像写文章一样
  3. 结构清晰 - 有章节划分和逻辑顺序
  4. 代码真实 - 只使用图片中出现的代码,不要编造
  5. 独立可读 - 不看视频也能完全理解

Output Format

实操教程类

# {教程主题}

## 简介

{教程目标}
{前置条件和要求}

## 环境准备

{需要安装的软件}
{配置要求}

## 操作步骤

### 1. {步骤标题}

{详细说明,内容必须与下方图片对应}

![frame_xxxx: 图片实际内容的准确描述](./images/frame_xxxx.jpg)

<!-- 代码来自 frame_xxxx -->
```代码块```

### 2. {步骤标题}

{详细说明}

![frame_xxxx: 准确描述](./images/frame_xxxx.jpg)

...

## 完整代码

<!-- 汇总自 frame_xxxx, frame_xxxx, frame_xxxx -->
{汇总所有代码片段,标注来源帧号}

## 常见问题

{可能遇到的问题和解决方案}

## 总结

{核心要点回顾}
{延伸学习建议}

知识文档类

# {主题}

## 概述

{主题背景介绍}
{为什么重要}

## {章节1标题}

{内容,必须与配图对应}

![frame_xxxx: 图片实际内容描述](./images/frame_xxxx.jpg)

## {章节2标题}

{内容}

![frame_xxxx: 图片实际内容描述](./images/frame_xxxx.jpg)

## 核心要点

- 要点1
- 要点2
- 要点3

## 延伸阅读

{相关资源和建议}

图片插入规范

规则 说明
帧号必须标注 ![frame_0015: 描述](./images/frame_0015.jpg)
描述必须准确 描述图片的实际内容,不是期望内容
内容必须匹配 图片上方/下方的文字必须与图片内容相关
代码标注来源 <!-- 代码来自 frame_0025 -->
不要乱插图 没有合适的图就不插,不要强行配图

API Reference

Bilibili API

脚本使用 Bilibili 官方 API 下载视频:

# 获取视频信息
GET https://api.bilibili.com/x/web-interface/view?bvid=BV1xx411c7mD

# 获取播放地址
GET https://api.bilibili.com/x/player/playurl?bvid=BV1xx411c7mD&cid={cid}&qn=80&fnval=1

API 文档: https://github.com/SocialSisterYi/bilibili-API-collect

FFmpeg 拆帧命令

# 每秒1帧
ffmpeg -i video.mp4 -vf "fps=1" -q:v 2 images/frame_%04d.jpg

# 每秒0.5帧(每2秒1帧)
ffmpeg -i video.mp4 -vf "fps=0.5" -q:v 2 images/frame_%04d.jpg

# 指定时间范围
ffmpeg -i video.mp4 -ss 00:01:00 -to 00:05:00 -vf "fps=1" -q:v 2 images/frame_%04d.jpg

# 提取关键帧(场景变化)
ffmpeg -i video.mp4 -vf "select='gt(scene,0.3)'" -vsync vfr -q:v 2 images/frame_%04d.jpg

更多选项: https://ffmpeg.org/ffmpeg.html

Examples

示例1: 分析编程教程

# 1. 下载并拆帧
dotnet run scripts/prepare.cs "https://www.bilibili.com/video/BV1xx411c7mD" -o ./react-tutorial

# 2. 分析图片(使用 Task 工具)
# 3. 生成 react-tutorial/视频分析.md

示例2: 分析长视频

# 降低帧率,减少图片数量
dotnet run scripts/prepare.cs "https://www.bilibili.com/video/BV1xx411c7mD" -o ./long-video --fps 0.2

示例3: 只下载视频

dotnet run scripts/prepare.cs "https://www.bilibili.com/video/BV1xx411c7mD" -o ./output --video-only

Quality Checklist

生成文档前,逐项检查以下要求:

内容质量

  • [ ] 内容重新组织,不是时间线流水账
  • [ ] 章节结构清晰,有逻辑顺序
  • [ ] 不看视频也能理解全部内容
  • [ ] 包含环境准备/前置条件说明
  • [ ] 包含总结和核心要点

图文对应(重要!)

  • [ ] 每张图片都标注了帧号: ![frame_xxxx: 描述](...)
  • [ ] 图片描述准确反映图片实际内容
  • [ ] 图片上下文的文字与图片内容直接相关
  • [ ] 没有随意插入不相关的图片
  • [ ] 代码块标注了来源帧号: <!-- 来自 frame_xxxx -->

代码质量

  • [ ] 代码来自图片中的实际代码,不是编造的
  • [ ] 代码片段完整,可直接复制使用
  • [ ] 完整代码章节汇总了所有代码并标注来源

Tags

bilibili, video-analysis, ai, frame-extraction, markdown, tutorial, ffmpeg, dotnet

Compatibility

  • Codex: Yes
  • Claude Code: Yes

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。