ビデオ学習ノート
ユーザーが選択した素材を読み込み、概念、手順、事例、結論を整理し、作者の見解とAIによる補足を明確にします。最初に実際に取得した素材とその範囲を説明し、その後で内容を報告します。ダウンロードの成功、字幕の長さ、文字起こしの完了を意味的な検証と同等に扱いません。
入力と出力場所の確認
単一の動画、選択されたパート、またはローカルファイルを確認します。コレクションの範囲が不明確でタスクに影響する場合にのみ質問します。元のソースリンクと正規化されたリンクを保持し、不要なトラッキングパラメータは除去します。
ユーザーの元ファイルは読み取り専用です。毎回、現在のワークスペースに一意の work/video_tmp/<タスクID>/ を作成し、メディア、チェックポイント、一時的な画面を保存します。同じディレクトリでは1つの書き込みプロセスのみ許可します。ソース、モデル、または言語を変更する場合は新しいタスクディレクトリを作成します。同じタスクの有効な再試行は元のディレクトリを再利用します。
今回使用する環境のみをチェックします。コマンドは環境説明を参照してください。優先的にユーザー指定のノートディレクトリに保存します。指定がない場合は、既存の書き込み可能なObsidianビデオノートディレクトリを使用し、それもない場合は現在のワークスペースの outputs/ を使用します。同名の成果物には一意のサフィックスを追加し、上書きしません。
信頼できる素材の取得
| ソース | 優先ルート | 信頼できる字幕がない場合 |
|---|---|---|
| B站 | 公開APIまたは接続済みで認可された字幕ツール | 設定済みの bili audio --no-split -o <task_dir> または他の認可ツール |
| YouTube | yt-dlp で選択言語の必要な字幕を取得 | 音声トラックを取得し、画面が必要な場合のみビデオストリームも取得 |
| その他のサイト | 既存のプラットフォームツールまたは yt-dlp | 実際の失敗に応じてサポートされている取得ルートに切り替え |
| ローカル音声/動画 | 既存の字幕 | 元のファイルに対して文字起こしスクリプトを実行 |
動画ID、パート、言語、字幕が空でないか、明らかに欠落しているセクションがないかを確認します。字幕のカバレッジは文単位の正確性を証明するものではなく、通常のエンドクレジットの無音部分も直接的に欠落とは見なしません。
まず公開素材を使用し、デフォルトでブラウザのCookie、ログイン、新規チャンネルの抽出は行いません。同じ失敗に対しては、明確な変更を伴う試行を最大2回までとします。ループリトライ、プロキシの変更、接続失敗を動画が存在しないと書き換えることはしません。妨害があった場合は既存の素材を保持し、不足箇所を説明します。
必要に応じた音声の文字起こし
信頼できる字幕がない場合、まず文字起こしコマンドを読み、次に transcribe.py を使用します:
- モデルを明確に選択し、既存のキャッシュを優先します。
--pilotを実行して最初の1分を試しに文字起こしし、言語、内容、速度を確認します。 - 試し読みが利用可能と判断したら、同じコマンドから
--pilotを削除して実行し、チェックポイントから完全処理を続行します。キャッシュがない場合、本当にダウンロードが必要な場合のみ--download-modelを追加します。 - 完全な
transcript.jsonを読み込み、空の音声、異常な繰り返し、needs_review、重要な用語や数値をチェックします。重要な引用が分単位のチャンク境界にある場合、境界をまたがるセグメントを聞き直します。
スクリプトは16kHzモノラルPCM16およびNumPy入力を認識器に使用し、分単位でチェックポイントを保存します。completed: true は処理範囲が消費されたことを示すだけで、認識精度を証明するものではありません。小モデルにサイレントに切り替えたり、モジュールインポートのためにモデルをダウンロードしたりしないでください。
1つの完全なメイン認識ルートのみを実行します。まず小さな素材部分を検証してから、切り替えるかどうかを判断します。デフォルトで全体に対してASRとOCRを同時に実行せず、バックグラウンドでの待機は1回60秒以内とし、意味のある進捗を報告します。
重要な画面の確認
まず画面選択説明を読みます。チャプターがある場合はチャプターに従って位置を特定し、チャプターがない場合はトピックの遷移に基づいて分析者の区切りを確立します。少数の概要画面で位置を特定し、その後、必要な鮮明な画面を抽出します。
コード、数式、表、設定、操作手順は音声による説明だけに頼ることはできません。類似した画面に固有の情報が含まれている場合は保持し、固定されたスクリーンショット数で完全性を判断することはしません。
OCRは図内のテキスト確認、または利用可能な音声トラックがない場合のバックアップルートとしてのみ使用します。まず代表的な画面を試しに読み、字幕、本文、ウォーターマークを口述内容と混同しないようにします。低解像度、遮蔽、または判読不能な数式の場合は、具体的な時間の欠落箇所を明記します。無音のビジュアル動画の場合は、ビジュアルリーディングを採用し、架空の音声文字起こしを作成しません。
ノートとエビデンスの作成
デフォルトで、タイトル、ソース、長さ、実際の素材、要約、トピックの要点、重要なタイムポイントを含みます。ユーザーが要求した場合、または動画が操作の再現に適している場合は、ワークフロー、入力、手順、出力、完了条件も整理します。デフォルトで全文の逐語訳は添付しません。
原動画の事実、作者の見解と事例、AIによる補足を区別します。作者がデモで示した速度や数量を一般的な保証として記述しません。処理済みの範囲と理解に影響を与える欠落箇所を明確にし、「全編字幕あり」を「全編音声の文単位検証済み」と書くことはしません。
スクリーンショットは永続的な添付ファイルディレクトリに保存し、Markdown画像リンクとして埋め込みます。ノート、添付ファイル、および同名の .evidence.json はすべて、一時的なメディアディレクトリに依存してはいけません。エビデンスは必要な断片、時間範囲、重要な詳細、確認記録のみを保持し、形式はエビデンス説明を参照してください。
検証とクリーンアップ
まず素材、ノート、添付ファイルを読み直し、各章の主要な概念、方法、事例、結論、および重要な名前、数値、数式、手順を確認します。エビデンスには確認範囲と未解決項目を正直に記録します。無音部分や繰り返し部分については実質的な内容がないことを説明でき、タイムラインを埋めるために架空の要約を作成しません。
次に finalize.py を実行して、ソース、チャプター、完了状態、永続ファイル、欠落箇所をチェックします。スクリプトは記録とファイルのみを検証し、内容審査に代わるものではありません。チェックを通すために reviewed や passed を偽装してはいけません。
選択された素材が処理され、内容チェックに合格し、永続ファイルの読み直しが成功した場合のみ --clean を追加します。クリーンアップは現在のワークスペース work/video_tmp の直接のサブディレクトリ1つのみを対象とし、ディレクトリおよびそのサブアイテム内のシンボリックリンク、ジャンクション、再解析ポイントを拒否します。元のファイル、モデルキャッシュ、永続的な成果物は削除しません。失敗した場合や未補填の欠落がある場合は、メディアとチェックポイントを保持します。
最後に、実際の素材と処理範囲、ノートの場所、クリーンアップ結果、制限事項を報告します。短い動画の試し読み、静的チェック、インポート成功は、実際の範囲に従って報告し、全編の検収として扱ってはいけません。