watching-videos について
オンライン動画リンクやローカルファイルを扱うエージェント向けの動画分析スキルです。フレーム、OCRテキスト、文字起こしをインデックス化し、動画に基づく回答に利用できます。
主な機能
- 01オンライン動画とローカルファイルの分析
- 02シーン単位のフレーム抽出と重複排除
- 03OCRによる画面テキストの抽出
- 04字幕優先、またはローカル Whisper による文字起こし
- 05検索可能なインデックスへの保存
活用シーン
- 01長い動画の特定区間を確認
- 02プレイリスト、チャンネル、フォルダーの一括処理
- 03動画の証拠に基づく質問への回答
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ oxbshw/ watch-skill --skill watching-videosインストール後、Claude Code で/watching-videosを入力して読み込まれたか確認します。
詳細
動画を見る
動画入力機能がなくても、このスキルで使えるようになります。ユーザーから渡されたものが YouTube のリンク、TikTok、講義、会議の録画、画面キャプチャ、ディスク上の .mp4 のいずれであっても、同じパイプラインを通ります。シーンを認識して重複を除いたフレーム、OCR、文字起こし(まず字幕を使用し、利用できない場合はローカルの Whisper をオフラインで使用)を、すべて 1 つのインデックスに保存します。
動画を見る前に:インデックスを確認する
watch-skill list
動画がすでに分析済みの場合(このセッションまたは以前のセッション)、再度見てはいけません。asking-with-evidence スキルを参照し、直接質問してください。
watch-skill ask <video_id> "<question>"
1 本の動画
watch-skill watch "<url-or-path>" [--start T --end T] [--max-frames N] [--transcript-only]
- yt-dlp が対応するあらゆるサイト(1800 以上)、メディアの直接 URL、HLS/DASH マニフェスト(
--duration 60でライブストリームの長さを制限できます)、ローカルファイルで動作します。 - 動画が約 10 分を超え、ユーザーが特定の部分に関心がある場合は、
--start/--endを使って、その区間を高密度にサンプリングします。 - ユーザーが発言内容だけを知りたい場合は、
--transcript-onlyを使います(最速で、多くの場合は動画をダウンロードする必要もありません)。
レポートには Indexed: <video_id>、t=MM:SS 形式のタイムスタンプ付きフレーム、OCR テキスト、文字起こしが表示されます。一覧にあるすべてのフレームパスを読み込みます。1 つのメッセージで、Read 呼び出しを並列に実行し、その後、フレーム+OCR+文字起こしをもとに、タイムスタンプを引用して回答してください。
複数の動画(プレイリスト、チャンネル、フォルダー)
watch-skill batch "<playlist-url-or-folder>" [--limit N]
すべて同じインデックスに保存されます。動画が 1 本破損していても、残りの処理は続行されます。その後、watch-skill search "<phrase>" を 1 回実行すれば、バッチ全体を検索できます。
マシンでの初回実行
コマンドで依存関係エラーが発生した場合は、watch-skill doctor を 1 回実行してください。不足している ffmpeg/yt-dlp が自動でインストールされます。いずれの処理にも API キーは必要ありません。文字起こしはデフォルトでローカルに実行され、動画ファイルがマシンの外部に送信されることもありません。