跳至內容
yt-dlp

錄製直播 — yt-dlp 指令產生器

產生用來錄製直播的 yt-dlp 指令,並在平台允許時從直播開頭錄起。

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

你的指令

yt-dlp --merge-output-format mkv --no-playlist -N 4 --live-from-start --wait-for-video 60-300 'https://www.youtube.com/watch?v=live_stream_id'
基本

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

影片與畫質

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

怎樣穩當地錄直播

從頭錄製是從直播開始處錄起,而不是從你執行指令的那一刻 —— 前提是平台還保留著前面的部分。等待直播會反覆查詢預定的直播,並在它開播的瞬間開始。

請選 MKV。意外中斷的錄製 —— 而直播錄製就是會中斷 —— 通常還能留下一個可播的 MKV,而寫到一半被截斷的 MP4 往往根本打不開。直播錄製無法續傳,所以 container 的選擇就是全部的保險。

等待一場預定的直播和錄製一場進行中的直播是兩種模式:等待直播反覆查詢那個網址,在直播開播的瞬間開始錄製——讓終端一直開著,它就會從第一分鐘開始抓。輪詢間隔以分鐘計而不是秒,所以要把指令提前跑起來;錯過幾次輪詢就損失幾分鐘的直播,沒有任何選項能找回從未被錄製的時間。

從頭錄製有一條平台邊界:YouTube 會保留直播的開頭並按需提供,所以這個選項真碰得到它;Twitch 在自己的保留期內同樣如此。其他平台對你加入的那一刻之前什麼都沒有保留。這就是為什麼該選項不是魔法開關——它取的是平台存下來的東西,而各平台存什麼並不相同。如果平台事後提供重播,重播是比任何即時錄製更好的源。

直播按定義就是 HLS:幾百個即時到達的短分片,由 ffmpeg 邊到邊拼進 container。正因如此,直播錄製才是 MKV 最要緊的場景——MP4 要把索引寫在結尾,一支兩小時直播在第三分鐘被殺掉的錄影完全沒有索引。磁碟空間是另一個真實的限制:直播錄影按直播位元率持續增長,跑多久長多久;當主播忘記停止、一場直播跑了十二個小時,體積上限保護的正是你的磁碟。

事後有兩件事值得點名。帶空白段的錄影很正常——活動各環節之間的安靜就在來源裡——事後剪掉它是剪輯,不是一次失敗的下載。而幾小時前結束的直播,在你找到它時已經是普通 VOD:用平台的普通影片選項——也就是本表單預設顯示的那些——直播專用的選項只在直播真正進行時才用。

常見問題

能從直播開頭開始錄嗎?
打開從頭錄製。它只在平台仍保留著直播前段內容時有效。
還沒開始的直播怎麼錄?
用等待直播並給一個 MIN-MAX 間隔。yt-dlp 會反覆查詢,並在直播開播的瞬間開始。
錄直播用哪個 container 最好?
MKV。它能承受寫入被中斷,而錄製途中被截斷的 MP4 可能根本播不了。
錄製被中斷會怎樣?
用 MKV 時,通常已寫下的部分都還在。直播錄製無法續傳 —— 缺掉的那段就是沒了。