貝克街主人 寫: yt-dlp完整用法(請附範例說明)
好的,這是一份使用 phpBB bbcode 格式編寫的 yt-dlp 完整用法教學,涵蓋了從基礎到進階的各種情境,並附有詳細的範例說明。
yt-dlp 完整用法教學 (附詳細範例說明)
yt-dlp 是 youtube-dl 的一個分支,目前是社群中最活躍、功能最強大的影音下載工具。它支援數百個網站,不僅僅是 YouTube。本教學將引導您掌握其核心用法。
本文大綱
安裝 yt-dlp 與 FFmpeg
基本用法
核心常用參數詳解
選擇影片/音訊格式 (-F, -f)
僅下載音訊 (-x)
處理播放清單
下載字幕
自訂輸出檔名與路徑 (-o)
其他實用參數
綜合應用範例
使用設定檔 (yt-dlp.conf)
1. 安裝 yt-dlp 與 FFmpeg
yt-dlp 本身是主程式,而 FFmpeg 是用於合併影片和音訊、轉換格式的必要工具。建議兩者都安裝。
2. 基本用法
最簡單的用法就是直接在後面接上影片網址。
範例:
代碼: 選擇全部
yt-dlp "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
這會自動下載該網址中預設最高畫質的影片+音訊合併檔。
3. 核心常用參數詳解
a. 選擇影片/音訊格式 (-F, -f)
現代影音網站 (如 YouTube) 的高畫質影片通常是影像軌和音訊軌分離的,需要分別下載再合併。
查詢所有可用格式 (-F):
使用 -F 參數可以列出該影片所有可用的格式。
輸出範例:
代碼: 選擇全部
ID EXT RESOLUTION FPS CH │ FILESIZE TBR PROTO │ VCODEC VBR ACODEC ABR ASR MORE INFO
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
...
248 webm 1920x1080 30 │ ~689.01MiB 2015k m3u8 │ vp9_2 2015k video only
137 mp4 1920x1080 30 │ ~ 1.15GiB 3371k m3u8 │ avc1.640028 3371k video only
...
251 webm audio only 2 │ ~ 11.23MiB 130k m3u8 │ opus 130k 48000Hz audio only
140 m4a audio only 2 │ ~ 11.03MiB 128k m3u8 │ mp4a.40.2 128k 44100Hz audio only
22 mp4 1280x720 30 2 │ ~411.75MiB 1204k https │ avc1.64001F 1204k mp4a.40.2 192k 44100Hz (best)
說明:
指定格式下載 (-f):
使用 -f 加上格式的 ID 來下載。
下載特定 ID (例如 720p 的 MP4 影片):
代碼: 選擇全部
yt-dlp -f 22 "影片網址"
下載最佳畫質影像 + 最佳音質音訊 (yt-dlp 會自動合併):
這是最推薦的高畫質下載方式。
代碼: 選擇全部
yt-dlp -f "bestvideo+bestaudio/best" "影片網址"
(說明: bestvideo 指最佳影像,bestaudio 指最佳音訊,用 + 號組合。/best 是備用選項,如果沒有分離的軌道,就下載預設最好的那個)
下載特定解析度的影像 + 最佳音訊:
代碼: 選擇全部
yt-dlp -f "bestvideo[height<=1080]+bestaudio/best" "影片網址"
(說明: [height<=1080] 表示選擇解析度高度小於等於 1080p 的最佳影像)
b. 僅下載音訊 (-x)
如果你只想儲存音樂或演講,這是最常用的功能。
代碼: 選擇全部
yt-dlp -x --audio-format mp3 "影片網址"
-x 或 --extract-audio: 提取音訊。
--audio-format <格式>: 指定音訊格式,常用 mp3, m4a, wav, flac。
--audio-quality <品質>: 指定音訊品質,0 最好,9 最差 (預設是 5)。MP3 建議用 0。
代碼: 選擇全部
yt-dlp -x --audio-format mp3 --audio-quality 0 "影片網址"
c. 處理播放清單
yt-dlp 預設會下載整個播放清單。
d. 下載字幕
查詢可用字幕 (--list-subs):
代碼: 選擇全部
yt-dlp --list-subs "影片網址"
輸出範例:
代碼: 選擇全部
Language Name Formats
en English vtt, ttml, srv3, srv2, srv1, json3
zh-Hant Chinese (Traditional) vtt, ttml, srv3, srv2, srv1, json3
zh-Hans Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
下載字幕 (--write-subs, --sub-lang):
下載所有可用的字幕。
代碼: 選擇全部
yt-dlp --write-subs "影片網址"
只下載特定語言的字幕 (推薦)。
代碼: 選擇全部
# 優先下載繁體中文,如果沒有,則下載英文
yt-dlp --write-subs --sub-lang "zh-Hant,en" "影片網址"
嵌入字幕 (--embed-subs):
如果下載的影片格式支援 (如 MP4, MKV),可以將字幕直接嵌入影片檔中。
代碼: 選擇全部
yt-dlp -f "bestvideo+bestaudio/best" --embed-subs --sub-lang "zh-Hant" "影片網址"
e. 自訂輸出檔名與路徑 (-o)
使用 -o 參數可以完全控制檔案的儲存路徑和名稱。
代碼: 選擇全部
yt-dlp -o "~/Downloads/%(title)s.%(ext)s" "影片網址"
常用變數:
範例:
代碼: 選擇全部
# 將影片存到 "下載/頻道名稱" 資料夾,檔名為 "上傳日期 - 影片標題.副檔名"
yt-dlp -o "~/Downloads/%(uploader)s/%(upload_date)s - %(title)s.%(ext)s" "影片網址"
f. 其他實用參數
--embed-thumbnail: 將影片封面圖嵌入到音訊檔中 (下載 MP3 時極為好用)。
--add-metadata: 將影片標題、作者等資訊寫入檔案中。
-r, --limit-rate <速率>: 限制下載速度,避免佔滿頻寬 (例如 -r 1M 表示限制為 1MB/s)。
--download-archive <檔案路徑>: 紀錄已下載過的影片 ID 到一個檔案中,下次執行時會自動跳過這些已下載的影片,適合用於追蹤更新。
代碼: 選擇全部
yt-dlp --download-archive my_archive.txt "頻道或播放清單網址"
4. 綜合應用範例
範例 1: 下載最高畫質 (1080p) 的 YouTube 影片,並嵌入繁中字幕和封面圖
代碼: 選擇全部
yt-dlp -f "bestvideo[height<=1080]+bestaudio/best" --merge-output-format mp4 --embed-subs --sub-lang "zh-Hant" --embed-thumbnail -o "%(title)s.%(ext)s" "影片網址"
拆解說明:
-f "bestvideo[height<=1080]+bestaudio/best": 選擇 1080p 或以下的最佳影像 + 最佳音訊。
--merge-output-format mp4: 合併後的影片格式為 MP4。
--embed-subs --sub-lang "zh-Hant": 嵌入繁體中文字幕。
--embed-thumbnail: 嵌入封面圖。
-o "%(title)s.%(ext)s": 檔名設為影片標題。
範例 2: 下載整個播放清單,轉成高品質 MP3,並將封面圖、標題等資訊寫入檔案
代碼: 選擇全部
yt-dlp -x --audio-format mp3 --audio-quality 0 --embed-thumbnail --add-metadata -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "播放清單網址"
拆解說明:
-x --audio-format mp3 --audio-quality 0: 提取音訊,轉為最高品質 MP3。
--embed-thumbnail --add-metadata: 嵌入封面和元數據。
-o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s": 在以播放清單命名的資料夾中,建立 "編號 - 標題.mp3" 格式的檔案。
5. 使用設定檔 (yt-dlp.conf)
如果你每次下載都使用幾乎相同的參數,可以建立一個設定檔,一勞永逸。
設定檔位置:
範例 config 檔內容:
代碼: 選擇全部
# 這是一個註解
# 預設下載 1080p 影片,合併為 mkv 格式
-f "bestvideo[height<=1080]+bestaudio/best"
--merge-output-format mkv
# 總是嵌入字幕和封面
--embed-subs
--sub-lang "zh-Hant,en"
--embed-thumbnail
# 總是寫入元數據
--add-metadata
# 限制下載速度為 5MB/s
-r 5M
# 使用下載紀錄檔
--download-archive ~/.config/yt-dlp/archive.txt
# 預設輸出路徑與檔名格式
-o "~/Videos/%(uploader)s/%(title)s [%(id)s].%(ext)s"
設定好之後,你只需要執行最簡單的命令,yt-dlp 就會自動套用這些設定:
yt-dlp 的功能遠不止於此,但掌握以上這些核心用法,已經能滿足 99% 的日常需求。如果需要更進階的功能,請查閱 官方文件。