影片理解 是做什麼的?
建立一次共享的證據層。將觀察結果保留在原始時間,並將編輯決策留給下游技能處理。
此技能是 /video-cut、/video-to-shorts、/video-add-captions、/video-add-content-cards 以及 /video-add-graphic-motion 的前置條件。請先執行此技能,讓下游技能使用相同的驗證證據與時間軸。
相依項目
需要 ffmpeg/ffprobe、Python 以及用於轉錄的 faster-whisper。在處理媒體前請先檢查它們是否已安裝。
工作流程
-
從原始來源初始化專案:
python scripts/init_project.py path/to/source.mp4 path/to/my-video-project這會建立
input/、review/00-video-understanding/、final/、最小化的機器專用work/目錄樹、一個識別時間軸、project.json、媒體中繼資料以及START-HERE.md。它不會為未選取的編輯操作建立資料夾。 -
僅在來源需要明確更新中繼資料時才再次探測:
python scripts/probe.py input/original-video.mp4 work/understand/media.json -
提取 16 kHz 單聲道音訊並進行轉錄:
ffmpeg -y -i input/original-video.mp4 -ac 1 -ar 16000 work/cache/audio16k.wav python scripts/transcribe.py work/cache/audio16k.wav work/understand/transcript medium ` --lang auto --cache-dir work/cache/faster-whisper如遇未知或混合語言的語音,請使用
--lang auto。切勿從使用者提示的語言推斷口說語言。僅在音訊本身或明確的使用者中繼資料確立語言時,才傳遞固定的語言,例如--lang zh。將模型下載保留在專案本機的work/cache/faster-whisper/快取中。Faster-whisper 可能偶爾會發出一個開始與結束時間值相同的點時間詞;共享的時間軸對應器會將其保留為 1 毫秒的間隔,以免字幕與衍生項目無聲地遺失文字。 -
產生客觀指標與語意候選:
python scripts/analyze.py work/understand/transcript.json work/understand/analysis.json -
讀取來源、轉錄稿以及分析結果。撰寫
work/understand/understanding.json,內容包含事實摘要、來源時間範圍、信心度以及轉錄證據。不要指定剪輯、卡片或外觀。 -
在供下游使用前進行驗證:
python scripts/validate.py understanding work/understand/understanding.json work/understand/transcript.json -
僅在
review/00-video-understanding/下建立這些有用的審查成品:video-summary.md、transcript.srt和contact-sheet.jpg。驗證中繼資料、時間戳記、證據參考以及可見影格。不要用 PNG 或臨時檔案名稱取代協定名稱。 -
只有在審查成品與語意證據驗證通過後,才將理解操作的
check.status標記為pass。操作生命週期的status與檢查結果是分開的;切勿將verified寫入check.status。
合約
- 在建立或驗證
project.json時,請參閱 project-schema.md。 - 在對應來源與程式時間時,請參閱 timeline-schema.md。
- 在撰寫語意理解之前,請參閱 understanding-schema.md。
- 使用 understanding.example.json 作為精簡範例。
所有持久的機器檔案都位於 work/understand/ 中。請將 work/cache/ 視為可丟棄的。