下載 YouTube 字幕 — yt-dlp 指令產生器
產生一條只把字幕存成 .srt、不下載影片的 yt-dlp 指令。
只要字幕不要影片
模擬執行會做除了寫入影片檔以外的一切,所以你留下字幕、省掉下載。轉成 SRT 需要 ffmpeg。
如果什麼都沒出現,最可能是這支影片根本沒有人工字幕 —— 自動產生的字幕是另一個開關,不打開它 yt-dlp 就找不到東西,而且也什麼都不說。
模擬執行是本頁承重的開關:不開,yt-dlp 會下載整支影片、順帶把字幕也存了——對一部電影長度的檔案來說,為了一條文字軌做這麼多傳輸很虧。開了,執行只取中繼資料、寫字幕檔案,完全不碰影片。代價是模擬執行也會跳過你可能習慣的縮圖與說明寫入——那些是影片執行的產物,不是字幕的。
語言選擇是字幕下載開始繁瑣的地方。--sub-langs en 只取標著「en」的那條軌;en-orig 是 YouTube 對自動生成那條的叫法,而作為模式的 en.* 會連兩者連同地區變體一起抓到。多語言用逗號分隔的清單。同一支影片對同一語言同時有人工軌和自動軌時,它們是兩個獨立項目,兩個都下載是正當的結果,不是 bug。
字幕檔案要進剪輯軟體時,格式就講究了:SRT 是安全的交換格式,VTT 帶著網頁播放器會顯示的樣式,YouTube 自家的 JSON3/_SRV 格式是給機器用的。轉 SRT 開關處理最常見的情況,需要 ffmpeg,並有意丟掉樣式——剪輯軟體要的是文字,不是標記。如果輸出看起來是空的,先確認檔案存在再認定轉換失敗:一個 0 位元組的 SRT 說明那條軌本來就是空的。
自動生成字幕值得一記警告:它是機器轉寫,隨之而來的是一切——錯的同音字、沒有標點、被攪碎的人名。對一支你讀得懂語言的影片,它是個搜尋索引;對任何要被引用的東西,值得留下的只有人工那條軌(如果有)。直播會即時生成自動字幕,只在直播結束後才能存下來——本站的直播錄製選項是給畫面用的,已結束直播的字幕用普通字幕選項下載。