短影音拆解 · 本機優先
HONEST LIST
這一頁只寫實際遇到過的事。「可能會有的問題」不寫—— 那會讓它從誠實清單退化成免責聲明,而免責聲明沒有人讀。 每一條都附怎麼辦,否則它只是抱怨。
faster-whisper 用的 CTranslate2 在 macOS 上沒有 Metal 路徑,所以它跑在 CPU 上——實測處理時間約為影片長度的 1.2 倍,比即時播放還慢。一支 3 小時 39 分的片跑了 4 小時 28 分。
怎麼辦 短片沒感覺。長片先在別處用 mlx-whisper(走 Metal,同一支片約 9–53 分鐘)轉好,再 ingest 進來。工具內建 mlx 後端是 issue #113。 #113
逐字稿裡出現簡繁混雜時工具會偵測到,但那個結果只印在那一次執行的 stderr 上,沒有寫進資料庫——所以事後查不到哪幾支有問題。
怎麼辦 目前只能在跑的當下看輸出。要讓它可查是 issue #114。 #114
IG 的部分影片不帶 cookies 就抓不到。
怎麼辦 從 Chrome 或 Brave 匯出 cookies,設 IG_COOKIES_FILE 或用 --cookies 指定。Safari 的 binarycookies 格式讀不了。
Threads 對瀏覽器回登入牆,對搜尋引擎爬蟲回完整的伺服器渲染頁——工具讀的就是後者頁內那段 JSON,裡面帶免 cookie 的影片直連。2026-10-05 實測 5/5 解析並下載成功,涵蓋單支影片、輪播、文字貼文內嵌影片三種版型。但要拿到那一頁,請求得自稱是搜尋引擎爬蟲——也就是冒充;而 Threads 的 robots.txt 開宗明義寫著未經書面許可禁止自動化蒐集。所以這個功能預設關閉。順帶,「改用 IG 網址」那招仍然不通——同一個 ID 餵給 instagram.com/p/ 會被拒,而同一次呼叫裡的 IG reel 對照組是成功的,所以那不是 cookies 問題,是兩個不同的物件庫。
怎麼辦 要用就自己在 .env 設 THREADS_USER_AGENT,後果自負,而且只拿來解析你親手挑的單則貼文——不排程、不餵程式產生的網址清單、不碰搜尋頁。量要大就走官方 Threads API。Threads 哪天不再給那一頁,工具直接報錯;那時候該停,不是去找一個更像真人的 UA。
用本機路徑會被當成一支新的影片建一列新資料,於是同一支片在庫裡有兩份、分析散在兩邊。
怎麼辦 重跑一律帶原本的 URL。
在錯的目錄啟動時它會安靜地開一個空資料庫——看起來一切正常,只是什麼都查不到。
怎麼辦 設 REEL_SCOUT_DATA 指到你的資料目錄,不要靠工作目錄。
四維評分是排序器不是成績單。換一批片、或換一顆大小不同的模型,分數會整體位移,公差大致 ±0.5 分。作者語料 190 支裡一半擠在 6.8–7.8,換一顆模型就足以洗牌。
怎麼辦 把 ±0.5 分以內當同一級。固定一套模型,要換就整批重跑;reel-scout stats 按 model_used 分組,不會把兩把尺平均成一個數。
入鏡的字(場景裡本來就有的)跟作者疊上去的字(他想告訴你的)。實測過一支 25 秒的咖啡拉花:OCR 讀到七條,其中六條是圍裙上印的 Coffee Master,而作者真正疊上去的是零條。把那六條當成「他想表達的重點」去讀,會得出完全相反的結論。
怎麼辦 看字有沒有跟著鏡頭動:停在畫面同一個位置的多半是疊上去的,跟著物體走的是入鏡的。
「抓現在流行什麼」是最容易被平台擋掉的功能,而一個三個月後就壞掉的功能比沒有功能糟。
怎麼辦 自己決定要拆哪些片,貼網址進來。
資料庫裡沒有 channel 表,唯一的把手是上傳者名稱——而那是一段自由文字,同一個人可能寫成兩種樣子。
怎麼辦 跨頻道的統計目前要自己對。
這些列出來不是炫耀,是為了讓上面兩節讀得出方向: 它們全都是「跑得動,然後結果悄悄不對」那一類—— 最難發現、也最值得當 bug 處理的那一類。
| 原本會發生什麼 | 怎麼修的 |
|---|---|
| 抓回 AV1 編碼導致自家檢視器播不出來 | 下載時加編碼守門 |
| 關鍵楨取樣全塌在片頭,長片只看得到開場 | 排序後才截斷 |
| 繁體講者的逐字稿被轉成簡體 | 從源頭給種子,不在事後轉換 |
| 挑到 YouTube 的機器翻譯字幕軌,國語片的逐字稿變成英文譯文且無警告 | 翻譯軌一定帶第二個語言代碼,據此排除 |
| analyze / batch 整批失敗仍然回傳成功 | 退出碼反映實際結果 |
| 跑不成的片以 0.0 分進入語料,拉低所有統計 | 無效片另記,統計排除並報排除數 |
| 同一個輸出目錄跑第二批就蓋掉第一批的紀錄 | 每批獨立 |