跳至內容
yt-dlp

YouTube 的 yt-dlp 指令產生器

為 YouTube 的影片、播放清單或頻道產生完全正確的 yt-dlp 指令。預設從 1080p MP4 開始,含章節與中繼資料,並已移除贊助片段。

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

你的指令

yt-dlp -f 'bv*[height<=1080]+ba/b[height<=1080]' --merge-output-format mp4 --embed-subs --sub-langs en --no-playlist --embed-thumbnail --embed-metadata --embed-chapters --sponsorblock-remove default 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
基本

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

影片與畫質

限制高度上限。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)
重設

YouTube 哪裡不一樣

在 720p 以上,YouTube 會把影像與音訊分成兩路獨立串流。因此任何要求 1080p 或 4K 的指令都必須兩路都取再合併,這也正是 720p 以上一定要有 ffmpeg、而 720p 以下不必的原因。本頁的預設已經處理好這件事。

關於 YouTube 另一件值得知道的事是機器人驗證。它出現時,偽裝成瀏覽器的成功率最高,再配上你自己的 cookies 就能涵蓋其餘情況 —— 年齡限制、會員專屬與私人影片都需要一個登入工作階段。

常見問題

怎麼用 1080p 或 4K 下載 YouTube?
720p 以上,YouTube 把影像與音訊分成兩路串流,所以指令必須兩路都要再合併 —— 這需要 ffmpeg。在上面選好解析度,產生器會替你寫好 selector 與 container。
YouTube 要我確認我不是機器人。
加上 --impersonate chrome,或用 --cookies-from-browser chrome 重用你的登入工作階段。先關掉瀏覽器 —— Chrome 執行時會鎖住自己的 cookies 資料庫。
怎麼只取音訊並存成 MP3?
把輸出切成僅音訊並選 MP3。再加上封面與中繼資料,拿到的檔案就可以直接進音樂庫。需要 ffmpeg。
怎麼下載整份播放清單?
把播放清單處理設為整份播放清單。清單很長時,加上紀錄檔,這樣重新執行是接著做而不是從頭來;再打開出錯也繼續,這樣一支被封鎖的影片不會拖停其餘部分。
可以下載 YouTube 字幕嗎?
可以 —— 內嵌進影片,或另存成 .srt。也請打開自動產生的字幕,否則沒有人工字幕的影片什麼都不會產出。