跳至內容
yt-dlp

Twitch 的 yt-dlp 指令產生器

為 Twitch 的 VOD、clip 與直播產生 yt-dlp 指令,並帶上讓長時間錄製撐得住的選項。

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

你的指令

yt-dlp --merge-output-format mp4 -o '%(uploader)s - %(title)s.%(ext)s' -N 4 --live-from-start https://www.twitch.tv/videos/1234567890
基本

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

影片與畫質

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

VOD、clip 與直播

Twitch 的 VOD 很長,所以同時下載多個 fragment 的效果是實實在在的;而且為了留下五分鐘去下載八小時,通常不如直接給一個時間範圍。

對直播來說,從頭錄製能在 Twitch 還保留前段時把它取回來。請選 MKV:被中斷的 MKV 通常還能播,而寫到一半被截斷的 MP4 往往不行。

Twitch 用 HLS 分段提供 VOD,而它的 CDN 相當大方——實際的上限是你的連線,這正是同時下載 fragment 在這裡真正有用的原因,儘管它們在 Instagram 上只會幫倒忙。僅限訂閱者的 VOD 需要訂閱了該頻道的帳號的 cookies;看不到它的工作階段無法下載。Highlights 是獨立的項目,不是 VOD 的子播放清單——用它們各自的網址去取。

Clips 是帶自己天花板的專屬 extractor——一支 clip 的上限就是它剪出來的來源畫質,常見 1080p60,而且 clip 網址給不了它出自的那份完整 VOD。想保留 VOD 的一段,就下載 VOD 本地剪輯,或者用時間範圍:--download-sections 接受一個時間戳視窗,不必為留五分鐘抓八小時,而且它與章節中繼資料天然搭配。

過去廣告是被烤進 Twitch VOD 分段裡的——yt-dlp 的 Twitch extractor 如今會把它剪掉,但只在較新的版本裡,所以舊執行檔得到的是帶廣告斷點的錄影。VOD 裡有來路不明的斷點就先更新。訂閱牆是另一道邊界:沒有工作階段,任何選項都碰不到僅限訂閱者的 VOD,也沒有辦法偽造一個。

關於聊天:Twitch 把聊天存成獨立的產物,yt-dlp 把 --write-subs 映射到它並存成 JSON——那個檔案不是字幕格式,把聊天渲染進影片的工具是另外一步。其餘都按你預期的形狀走:長期同步頻道用封存檔案,直播用 MKV,VOD 用 MP4,播放清單序號只在多段項目讓它有意義時才用。

常見問題

怎麼下載 Twitch 的 VOD?
直接給 VOD 的網址。它們很長,所以提高同時下載的 fragment 數來加速;如果只想要其中一段就用時間範圍。
能錄製 Twitch 直播嗎?
可以。在直播允許的情況下,從頭錄製會從開頭而不是目前這一刻開始。相比 MP4,MKV 更能承受被中斷的錄製。
clip 可以嗎?
可以,clip 的網址能直接用,不需要特殊選項。
僅訂閱者可見的 VOD 呢?
你需要一個已訂閱的工作階段:用 --cookies-from-browser,並使用持有該訂閱的帳號。