跳至內容
yt-dlp

yt-dlp 參數手冊

本手冊依 yt-dlp 2026.07.21 撰寫。不同版本之間會新增或改名選項,請用 yt-dlp --version 確認你的版本。

基本

你要什麼

僅音訊會擷取聲音軌並捨棄影像串流。

影片與畫質

-f FORMAT --format

最高畫質

限制高度上限。yt-dlp 仍會挑該上限以下最好的一路串流。

-f FORMAT --format

自訂 format selector

會取代畫質下拉選單。給已經熟悉 format 語法的人用。

範例

  • -f "bv*[vcodec^=av01]+ba"
  • -f "b[filesize<50M]"

重新編碼成

重新編碼影片。慢而且有損 —— 只在 remux 行不通時才用。

音訊

音訊品質

VBR 的檔案大小與品質之比最好;固定 bitrate 比較好預估大小。

字幕

字幕

內嵌會把字幕放進影片裡;另存則在旁邊寫一個獨立的 .srt 檔。

字幕語言

用逗號分隔。想要所有可用語言就寫 all。

範例

  • --sub-langs "en,vi"
  • --sub-langs "en.*,ja"
  • --sub-langs all

自動產生的字幕

在沒有人工字幕時,把機器產生的字幕也算進來。

播放清單與頻道

播放清單處理

當網址同時屬於一支影片和一份播放清單時該怎麼做。

-I ITEM_SPEC --playlist-items

要哪幾項

範圍與清單都可以,例如 1-10,15,或用 -5::2 表示從尾端起每隔一項取一項。

範例

  • -I 1:5
  • -I "1,3,7-10"
  • -I "-5::2"

紀錄檔

記下已經下載過的項目,於是重新執行會跳過它們。這就是讓一個頻道保持同步的做法。

片段與章節

只下載其中一段

像 *00:01:30-00:03:00 這樣的時間範圍,或章節名稱。開頭的星號表示這是時間點。

範例

  • --download-sections "*00:01:30-00:03:00"
  • --download-sections "intro"
--split-chapters 需要 ffmpeg

依章節切分

每個章節寫成一個檔案,而不是一整個長檔。

中繼資料與封面

--embed-metadata 需要 ffmpeg

內嵌中繼資料

把標題、上傳者與日期寫進檔案本身。

--embed-chapters 需要 ffmpeg

內嵌章節

加入章節標記,播放器可以在它們之間跳轉。

另存中繼資料 JSON

把 yt-dlp 對這支影片知道的一切寫進 .info.json 檔。

SponsorBlock

檔案與資料夾

檔名範本

欄位名稱寫在 %(...)s 裡。斜線會建立資料夾。

範例

  • -o "%(title)s.%(ext)s"
  • -o "%(playlist_index)02d - %(title)s.%(ext)s"

下載資料夾

檔案要寫到哪裡。搭配上面的範本可以產生子資料夾。

安全(純 ASCII)檔名

去掉重音符號、空白,以及某些挑剔的檔案系統可能拒絕的字元。

相容 Windows 的檔名

去掉 Windows 不接受的字元,即使你在別的系統上執行。

-w --no-overwrites

永不覆寫

跳過任何已經下載過的東西。

-c --continue

續傳未完成的下載

從中斷的地方接著下。

篩選

上傳時間晚於

YYYYMMDD,或像 now-1month 這樣的相對日期。

範例

  • --dateafter 20240101
  • --dateafter now-1month

網路

-r RATE --limit-rate

限速

例如 2M 或 500K。當你需要把剩下的頻寬留給別的事情時很有用。

-N N --concurrent-fragments

同時下載的 fragment 數

能加快分片串流的下載。從 4 開始比較合適。

-R RETRIES --retries

重試次數

失敗的片段要重試幾次。也可以寫 infinite。

繞過地區限制

偽造請求來源。在部分網站有效,並非全部。

偽裝成瀏覽器

讓請求看起來來自真正的瀏覽器。突然出現 403 時,這是最常見的解法。

登入與 cookies

Cookies 檔案

從瀏覽器匯出的 Netscape 格式 cookies.txt。

直播

從直播開頭錄

從直播開始處錄製,而不是從目前這一刻。

疑難排解

--user-agent UA 已淘汰 — --add-headers

User agent

已淘汰,應改用 --add-headers。之所以保留,是因為很多舊教學還在用它。

--referer URL 已淘汰 — --add-headers

Referer

已淘汰,應改用 --add-headers。

Extractor 參數

依網站區分的專用選項,例如 youtube:player_client=web。

範例

  • --extractor-args "youtube:player_client=web,android"

輸出與除錯

-i --ignore-errors

出錯也繼續

跳過失敗的項目而不是停下來。處理大型播放清單時不可或缺。

-F --list-formats

只列出格式

印出可用格式後直接結束,不下載。

-s --simulate

模擬執行

除了寫檔以外的一切都做。