影片學習筆記
讀取使用者選定的材料,整理概念、步驟、案例和結論,明確作者觀點與 AI 補充。先說明實際取得的材料和範圍,再報告內容,不把下載成功、字幕時長或轉錄完成等同於語意核驗。
確認輸入與輸出位置
確認單一影片、選中分 P 或本地檔案;合集範圍不明確且影響任務時再詢問。保留原始來源連結和標準連結,去除無關追蹤參數。
使用者原檔唯讀。每次在目前工作區建立唯一的 work/video_tmp/<任務ID>/,儲存媒體、檢查點和暫存畫面,同一目錄只允許一個寫入程序。改變來源、模型或語言時新建任務目錄;同一任務的有效重試複用原目錄。
只檢查本次要用的環境,指令請見環境說明。優先儲存到使用者指定筆記目錄;未指定時使用既有、可寫的 Obsidian 影片筆記目錄,否則使用目前工作區 outputs/。同名產物加唯一後綴,不覆蓋。
取得可信材料
| 來源 | 首選路線 | 缺少可信字幕時 |
|---|---|---|
| B站 | 公開介面或已連線且獲授權的字幕工具 | 已配置的 bili audio --no-split -o <task_dir> 或其他獲授權工具 |
| YouTube | yt-dlp 取得選中語言的所需字幕 | 取得音軌,只有需要畫面時再取影片串流 |
| 其他網站 | 現有平台工具或 yt-dlp | 根據實際失敗切換支援的取得路線 |
| 本地音影片 | 既有字幕 | 對原檔案執行轉錄腳本 |
核對影片標識、分 P、語言、字幕是否為空和明顯缺段。字幕覆蓋不能證明逐句正確,正常片尾靜音也不直接算缺失。
先用公開材料,不預設提取瀏覽器 Cookie、登入或新增管道。相同失敗最多做兩次有明確變化的嘗試;不循環重試、改代理或把連線失敗寫成影片不存在。受阻時保留既有材料,說明缺口。
按需轉錄音軌
沒有可信字幕時,先閱讀轉錄指令,再使用 transcribe.py:
- 明確選擇模型,優先既有快取,執行
--pilot試轉錄第一分鐘,檢查語言、內容與速度。 - 試讀可用後執行相同指令並去掉
--pilot,由檢查點繼續完整處理;沒有快取時,確需下載才加--download-model。 - 讀取完整
transcript.json,檢查空語音、異常重複、needs_review、關鍵術語和數字;重要引用位於分鐘分塊邊界時回聽跨邊界片段。
腳本以 16 kHz 單聲道 PCM16 和 NumPy 輸入辨識器,按分鐘儲存檢查點。completed: true 只表示處理範圍已被消費,不證明辨識準確。不要靜默切換小模型,也不要為匯入模組而下載模型。
只跑一條完整主辨識路線;先驗證小段材料,再決定是否切換。不預設同時對整片做 ASR 和 OCR,背景單次等待不超過 60 秒,並報告有意義的進展。
核對關鍵畫面
先讀畫面選擇說明。有章節時按章節定位,沒有章節時按主題轉換建立分析者劃分。用少量概覽定位,再提取必要的清晰畫面。
程式碼、公式、表格、設定和操作步驟不能僅靠語音轉述。相似畫面有獨有資訊時保留,不用固定截圖數量代替完整性判斷。
OCR 只用於圖中文字核對或無可用音軌時的備用路線。先試讀代表畫面,避免把字幕、正文和水印混為口述內容。低清、遮擋或無法辨識的公式標明具體時間缺口;無聲視覺影片說明採用視覺閱讀,不虛構語音轉錄。
寫筆記與證據
預設包含標題、來源、時長、實際材料、摘要、主題要點和關鍵時間點;使用者要求或影片適合操作複用時,再整理工作流程、輸入、步驟、輸出與完成條件。不預設附整段逐字稿。
區分原影片事實、作者觀點與案例、AI 補充。作者示範的速度和數量不寫成普遍保證。明確已處理範圍及影響理解的缺口,不把「有全片字幕」寫成「全片音軌逐句核驗」。
截圖儲存到持久附件目錄,以 Markdown 圖片連結嵌入。筆記、附件和同名 .evidence.json 都不能依賴暫存媒體目錄。證據只保留必要片段、時間範圍、關鍵細節和核對記錄,格式請見證據說明。
驗證與清理
先回讀材料、筆記和附件,核對各章節主要概念、方法、案例、結論,以及重要名稱、數字、公式與步驟。證據中如實記錄檢查範圍和未解決項;靜音或重複段可以說明無實質內容,不虛構摘要填時間軸。
再執行 finalize.py 檢查來源、章節、完成狀態、持久檔案與缺口。腳本只驗證記錄和檔案,不代替內容審閱,不能為了通過檢查而偽填 reviewed 或 passed。
只有選中材料已處理、內容核對通過、持久檔案回讀成功後才加 --clean。清理僅限目前工作區 work/video_tmp 的一個直接子目錄,並拒絕目錄及子項中的符號連結、junction 或重解析點。原檔案、模型快取與持久產物不刪;失敗或仍有未補缺口時保留媒體和檢查點。
收尾給出實際材料與處理範圍、筆記位置、清理結果和限制。短片試讀、靜態檢查與匯入成功均按真實範圍報告,不能當作全片驗收。