跳至內容
yt-dlp

下載播放清單 — yt-dlp 指令產生器

為整份播放清單產生 yt-dlp 指令:帶編號、可續做,也不會因為一個壞項目就整批停下。

選填。留空的話指令會以 URL 結尾,由你自己填。

你的指令

yt-dlp -f 'bv*[height<=1080]+ba/b[height<=1080]' --merge-output-format mp4 --yes-playlist -I 1-10 --download-archive archive.txt -o '%(playlist_index)02d - %(title)s.%(ext)s' -i 'https://www.youtube.com/playlist?list=PLxxxxxxxx'
基本

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

影片與畫質

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

把分離的影像與音訊串流合併進去的檔案類型。

進階選項(3)

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

不重新編碼,只重新封裝。快而且無損。

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

音訊

音訊要轉換成的檔案類型。

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

字幕

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

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

播放清單與頻道

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

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

進階選項(1)

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

片段與章節
進階選項(2)

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

中繼資料與封面
進階選項(3)
SponsorBlock

依 SponsorBlock 資料,把社群標記的片段直接從檔案裡剪掉。

進階選項(1)

片段保留,但會被標出來,讓你自己跳過。

檔案與資料夾

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

進階選項(4)

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

檔名最大長度,以字元計。

篩選
進階選項(5)

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

YYYYMMDD,或相對日期。

跳過更小的檔案。可以寫 5M、500K 之類。

跳過更大的檔案。

停下來之前要下載的檔案數量。

網路

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

進階選項(5)

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

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

HTTP、HTTPS 或 SOCKS proxy 的網址。

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

登入與 cookies

直接讀取你的登入工作階段。私人、年齡限制或會員專屬內容都需要它。

進階選項(1)

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

直播
進階選項(2)

反覆檢查直到預定的直播開始。MIN-MAX 是兩次檢查之間的秒數。

疑難排解
進階選項(3)

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

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

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

輸出與除錯
進階選項(2)
重設

兩個真正重要的選項

紀錄檔會記下每個已完成的項目,因此重新執行同一條指令只會下載缺的那部分。在長播放清單加上慢速連線的情況下,這就是「接著做」與「從頭再來」的差別。

另一個是出錯也繼續。播放清單會隨時間累積已刪除、私人與地區封鎖的項目,沒有這個選項,第一個這樣的項目就會中止整次執行。帶編號的範本則讓檔案維持播放清單順序。

常見問題

怎麼只下載播放清單的一部分?
用項目選擇器:1-10 表示前十項,1,3,7-10 表示混合選擇,-5::2 表示從尾端起每隔一項取一項。
被中斷的播放清單下載怎麼接著做?
用紀錄檔。它記下每個已完成的項目,因此重新執行同一條指令只會下載缺的部分。
一支影片失敗,整批就停了。
打開出錯也繼續。已刪除、私人與地區封鎖的項目會被跳過,而不是中止整次執行。
怎麼讓檔名保持播放清單順序?
在範本裡加入播放清單序號:%(playlist_index)02d - %(title)s.%(ext)s。02d 會補零到兩位,這樣檔案排序才正確。