圖片來源:yt-dlp 的 Github 發布頁面
⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺
▍前言
為從沒用過 yt-dlp 的朋友們提供一個入門的墊腳石
在這段時間內文章被很多人注意到 也幫助了很多想認識這款工具的人
而第一版文章在 2024 / 10 / 18 時 成功到達了10萬人氣 真的非常令人驚喜
對此我感到很開心 也很榮幸
3 年後 那篇文章雖然還算堪用 但也有很多應該被修正刪改的地方
於是我在原有的第一版文章上 對此進行了一定幅度的翻新與整修
包括內容、圖片呈現等要素為基礎 重新整理了第一版文章
不過由於我自己並不是真正懂程式設計的人
僅僅只是一位在因緣際會下 發現了這樣的工具 並寫了簡介提供給大眾的普通網友
縱使我已經盡我所能 但文章內也許還會有我未曾注意到的疏漏
如果文內出現了任何問題 都可以直接在文章底下留言 / 私訊 / 站內信聯絡我
我會對文章進行修正 還請各位多擔待 ⁽⁽ ◟(∗ ˊωˋ ∗)◞ ⁾⁾
與第一版一樣 文章定位為面向初心者 / 新手的保母級教學
第二版同樣也會為真的無法掌握 yt-dlp 使用方式的朋友們
提供含有圖形介面版本的 yt-dlp 簡介
讓即便是完全不懂指令操作的朋友們也能享受 yt-dlp
同時 也因為文章定位的關係 內容可能會有點長
但還是建議初次使用的朋友們耐心看完
避免錯過重要資訊!
好的 前言至此結束 接下來即為正文
如果有需要查找的資訊
可以按下 Ctrl + F 進行快速搜尋
方便你搜索需要的資料
就讓我們開始吧!
提示:
圖片內容可能會隨著時間推移 而不與實際狀況一致
但文字內容所述的操作方式基本上都是相同的
另外 如果圖片中的文字太小 可以把圖片點開來放大看
⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺
▍章節目錄
1. 前言
2. 章節目錄
3. 什麼是 youtube-dl / yt-dlp?
4. 下載與安裝
5. 常用指令介紹
6. config.txt 配置
7. 命令提示字元(CMD)實際操作環節
8. 常見問題
9. plugin 安裝 *08/26新增*
10. 苦手包(GUI 版本 yt-dlp 使用方式簡介)
11. 後話
12. 備註
⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺
▍什麼是 youtube-dl / yt-dlp?
youtube-dl 是能為你下載 Youtube 與其他網站上影音內容的工具
最初發布時間為 2008 年 是一項歷史悠久的專案 其原始碼公開於 Github 上
但由於 youtube-dl 專案主要開發 / 維護者們的活躍程度降低
分支 yt-dlp 應運而生
而截至目前為止 yt-dlp 的更新與維護頻率要遠高於其他分支
是社區內最為活躍的影音下載工具之一
以此緣由為基礎
接下來的文章將會以 yt-dlp 作為主軸進行介紹與使用
⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺
▍下載與安裝
礙於文章篇幅限制和本人並不熟悉 macOS 與 Linux 系統
在此只提供 Windows 版本的操作方式
首先 我們需要兩樣東西:
yt-dlp
ffmpeg (yt-dlp 訂製版本)
yt-dlp 是用來執行各式任務的主體
ffmpeg 則是用以執行各種必要的後期處理任務(例如影片與音訊合併)
兩者都同樣不可或缺
至於這裡會說是 yt-dlp 訂製版本
是因為原始版本的 ffmpeg 在與 yt-dlp 共同運行時會出現一些問題
為此 yt-dlp 的團隊提供了修補過後的 ffmpeg 特殊版本
此訂製版本也同樣發布於 yt-dlp 的 Github 上
簡單的介紹在此結束
那麼就來下載他們吧!
首先 我們進到 yt-dlp 的 Releases 頁面:
在最上方 我們能看到有標註 Latest 的項目
(Latest 的意思為最新發布 請優先下載標註為 Latest 的項目)
尋找名為 yt-dlp.exe 的選項 並下載他到你的桌面
圖片來源:自製
再來則是需要 ffmpeg(yt-dlp 訂製版本):
同樣看到有標註 Latest 的項目
如果你的電腦是 64 位元
那就下載 ffmpeg-master-latest-win64-gpl.zip
如果你的電腦是 32 位元
那就下載 ffmpeg-master-latest-win32-gpl.zip
同樣 也將他下載到你的桌面
圖片來源:自製
下一步
在你的桌面新建一個資料夾 取名為 yt-dlp
把 yt-dlp.exe 擺進去
ffmpeg-master-latest-win(32/64)-gpl.zip 則需要解壓縮過後把整個資料夾一起放進去
並把 ffmpeg-master-latest-win(32/64)-gpl 資料夾改名為 ffmpeg
圖片來源:自製
這個 yt-dlp 資料夾擺哪裡都可以
你可以就這樣放在桌面 或是移到其他磁碟 都沒問題
但是有個前提 擺放 yt-dlp 資料夾的路徑裡不能包含任何中文
否則有機會報錯
決定好你要把 yt-dlp 資料夾放在哪裡後
我們要把這個資料夾加入環境變數裡 方便日後快速執行 yt-dlp:
1. 按下鍵盤上的 Win + S
2. 搜尋 path (編輯系統環境變數)
3. 右下角環境變數選項
4. 下方系統變數欄位 稍微往下滑 找到 Path 這個變數 點兩下進入編輯環境變數視窗
5. 右側選擇新增 並加入 yt-dlp資料夾的路徑
6. 最後 在這些視窗一路按確定把他們關掉
一定要按確定 不能直接按右上角 X 否則剛剛做的都不會生效!
圖片來源:自製
⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺
▍常用指令介紹
執行操作時我們會需要用到指令
yt-dlp 可以做的事很多 所以指令也很多
不過我們沒有必要知道全部指令的使用方式 只需要知道常用的就好
在這裡 我會幫你們列出最常用 & 各位可能會有興趣的指令
協助接下來 config.txt 配置與 CMD 實際操作環節章節的進行
執行 yt-dlp 時的語法 應該大致上呈現如下列格式:
yt-dlp [OPTIONS] URL
範例:yt-dlp -f 614+140 https://youtu.be/dQw4w9WgXcQ
yt-dlp
用於呼叫 yt-dlp 執行指令 如果要用 yt-dlp 就一定要在指令最前端加入此前綴
如果缺少此前綴 CMD 會報 "不是內部或外部命令、可執行的程式或批次檔。"
-F
列出指定影片所有可供下載的格式與格式代碼
-f [FORMAT]
指定格式代碼
--audio-format [FORMAT]
指定音訊格式 目前支援 mp3 / m4a / aac / opus / wav / flac / alac / vorbis
--recode-video [FORMAT]
指定影片格式 目前支援 mp4 / flv / ogg / webm / mkv / avi
--download-sections ["*TIME-TIME"]
下載影片中的指定片段
例如我想下載影片內 1 分鐘到 1 分半的內容
那就是 --download-sections "*1:00-1:30"
--embed-metadata
嵌入媒體詳細資訊至檔案中
--embed-subs
嵌入字幕至影片中 僅適用於 mp4 / webm / mkv
--concurrent-fragments [N]
並行下載 m3u8 / mpd 影片
如不添加此指令 預設為不分割
--cookies-from-browser [BROWSER]
獲取指定瀏覽器的 cookies
目前支援 chrome / chromium / brave / edge / firefox / opera / safari / Vivaldi / whale
(通常用於下載會員限定影片)
--ignore-config
不使用 config
--version
查看當前 yt-dlp 版本
-U
更新 yt-dlp
--output '[PATH]'
指定檔案輸出路徑
如不添加此指令 預設輸出路徑為 C:\Users\[USER NAME]
以上僅列出一小部分指令
yt-dlp 還有非常多好用的指令 但礙於篇幅限制 這裡僅列出較常用的指令
如果你想找查閱更多指令 可以參閱以下連結:
英文的是最齊全的
中文的雖然有些資訊沒有打上 但也足夠我們使用了
⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺
▍config.txt 配置
config.txt 為全域配置文件
能讓你以預先寫好的指令執行默認配置進行下載
這樣某些常用指令 就不用每次操作都重打一次
我們來到 C:\Users\[USER NAME]\AppData\Roaming
如果沒辦法找到 AppData 資料夾 請開啟顯示隱藏檔案 同時也建議一併開啟顯示副檔名 方便日後進行操作
開啟顯示隱藏檔案與顯示副檔名的方式網路上都有介紹 這裡就不多做贅述
接著 我們要在 Roaming 資料夾內
新增一個資料夾 並改名為 yt-dlp
並在這個 yt-dlp 資料夾內新增一個文字文件 取名為 config
圖片來源:自製
config.txt 裡你想加什麼指令就加什麼
只要是你會常用到的都可以擺進來
在這裡 我強烈建議各位加上:
--output '[PATH]\%(title)s.%(ext)s'
這項指令能夠指定你希望把影片下載到的預設資料夾內 並刪除多餘的媒體 ID
例如 我想要把影片下載到桌面
那麼指令就應該呈現如下:
--output 'C:\Users\[USER NAME]\Desktop\%(title)s.%(ext)s'
中間 [USER NAME] 要輸入你的本機帳戶名稱
以我來舉例 像我的本機帳戶名稱叫 K
那麼我就應該這樣寫:
--output 'C:\Users\K\Desktop\%(title)s.%(ext)s'
另外 有一些我覺得還不錯的指令 也推薦各位一併加入 用來最佳化下載體驗
直接複製貼上進 config.txt 裡即可
--force-ipv4
--concurrent-fragments 8
--part
--continue
--throttled-rate 200K
--retries 10
圖片來源:自製
⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺
▍命令提示字元(CMD)實際操作環節
指令可以各種方式呈現
添加不同的指令會對下載結果產生不同的影響
在這裡 我們就把目標放在多數人最常用的 "下載包含音訊的影片" 為例
並用 Rick Astley - Never Gonna Give You Up (Official Music Video) 進行示範:
在開始上按下右鍵 即可找到終端機選項 點選並開啟 CMD
圖片來源:自製
首先 我們要確定想要的影片有哪些格式可供下載
預先複製好你想要下載的影片的網址
並在 CMD 中輸入:
yt-dlp -F https://youtu.be/dQw4w9WgXcQ
按下 Enter 後 我們能看到非常多選項
黃色字為標題、綠色字為格式代碼、白與灰色字為細項資訊
同時 我們能看到音訊與影片是分開來的
圖片來源:自製
接著 如果現在我想要下載 1080p 的 mp4
我們就可以選擇 614
同時我希望影片帶有聲音
所以我們也要選擇 140
最後 我們得出應該要 614 和 140 一起下載
才會有包含音訊的 1080p 影片
那麼呈現出來的結果就是:
yt-dlp -f 614+140 https://youtu.be/dQw4w9WgXcQ
按下 Enter 後 他就會開始下載
完成後 我們就能在一開始指定的檔案存放路徑裡找到我們的影片
像是我剛剛把檔案存放路徑放在桌面
那麼下載出來的影片就會出現在桌面了!
圖片來源:自製
至此 我相信各位已經學會 yt-dlp 的基礎操作了
當然 我們也可以更進階一點的添加其他指令去做變化
就像前面所說的 添加不同指令會對結果產生不同影響
更多有趣的指令就交由大家親自去嘗試了
另外 我前面有提到過 yt-dlp 也可以用來下載其他網站內的影音內容
同樣也是用上述的方法進行下載
多數時候都是能成功的 但某些網站可能比較沒那麼好抓到檔案
又或者是用特殊的方式直接不讓我們抓 這個就只能多試幾次才會知道了
⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺
▍常見問題
操作 yt-dlp 時 難免會遇上 CMD 報錯
在這裡我列出幾項我自己在使用 yt-dlp 時曾經出現的問題
還有我之前寫的第一版介紹文底下眾多網友們遇到過的問題
整理出來提供給各位一個解方
當然 如果你發生的狀況沒有出現在下述狀況之中
你可以在留言區留下你遇到的困難、執行的指令與 CMD 報出的錯誤資訊
我會盡可能的幫你尋找答案
Q1:CMD 只顯示了幾行錯誤資訊就不動了
A1:檢查你的指令 看有沒有打錯字 或是格式錯誤的地方
要特別注意你的空格有沒有多空或少空
Q2:下載到一半 CMD 突然不動了
A2:關閉 CMD 重新操作看看
或是嘗試改用系統管理員的 CMD
Q3:下載到一半 檔案管理員卡住
A3:把檢視方式改為清單 或是在不開啟檔案管理員的狀態下進行下載
Q4:檔案管理員卡住之後 我沒辦法操作裡面的內容
A4:到工作管理員(快捷鍵:Ctrl + Shift + Esc) 把 Windows 檔案總管重新啟動
Q5:我手賤 不小心把 Windows 檔案總管結束工作了 現在電腦畫面完全是黑的 QQ
A5:去重啟電腦吧 可憐蟲 (´・ω・`)
Q6:檔案沒下載成功 而且最後顯示了 "Http error 403: Forbidden"
A6:添加指令 --force-ipv4
Q7:檔案沒下載成功 而且最後顯示了 "unexpected status code: 404"
A7:重新下載一次就好
Q8:不能下載被標註為年齡限制的影片
A8:如果你的 Youtube 帳戶有達到指定年齡
那麼可以添加 --cookies-from-browser 這條指令重新進行下載
Q9:下載速度突然減慢到只剩 KiB/s
A9:這是 YouTube 的服務政策所導致 但還是可以解決
添加指令 --throttled-rate 200K
這項指令能夠限制最低下載速度(以位元率/秒計算)
在下載速度低於指定速度時 會自動重新下載檔案
Q10:我的 IP 位置在歐盟地區 有絕大多數影片不允許我下載
A10:你是歐盟政策的受害者 建議在開著 VPN 的環境下進行操作
Q11:我嘗試嵌入影片縮圖做為檔案封面 但卻顯示失敗
A11:重新下載即可
Q12:音訊檔案嵌入影片縮圖 並用播放程式開啟後 封面變成上半部是黑色 下半部是影片縮圖這樣的狀況了 有辦法讓他美觀一點嗎?
A12:添加指令
--ppa "EmbedThumbnail+ffmpeg_o:-c:v mjpeg -vf crop=\"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\""
這串指令會自動把影片封面裁切正中間的部分做為封面 裁切的長寬比是 1:1
能夠很好的解決美觀上的問題
Q13:下載出來的東西只有 part 檔案
A13:重新下載即可 或是可以添加 --no-part 指令
Q14:我想要取消下載
A14:把 CMD 直接關掉即可
但沒下載完全的檔案會殘留著 記得到下載路徑裡把他刪掉
Q15:config 裡的指令能不能換行寫
A15:可以
順帶一提 如果你希望在 config 裡加上註解
可以在你想註解的文字前面加上 ## 前綴
這樣 yt-dlp 在執行時會略過被標註為 ## 的文字
但即便是註解也仍然不能包含中文 不然會報錯
Q16:我的 ffmpeg 沒有生效
A16:把 ffmpeg.exe 拉出來與 yt-dlp.exe 一起放
或是把 /yt-dlp/ffmpeg/bin 路徑也加入進 path 裡
Q17:下載出來的影片開不了
A17:可能是下載途中有一部分資料遺失 重新下載看看
如果檔案沒有問題 那有可能是播放器出了狀況
換成用 VLC 或是 PotPlayer 試試看
Q18:下載直播影片會遺失部分片段 而不是整個直播的影片檔案
A18:添加指令 --live-from-start 與 --no-part
Q19:超過 2 小時的影片下載出來只剩下 1:59:59
A19:Youtube 處理超過 2 小時的新上傳影片會需要一點時間
建議等數小時至數天後再重新嘗試下載
Q20:顯示了錯誤代碼 'cp950' codec can't decode byte 0xe9 in position 3: illegal multibyte sequence 後就沒動作了
A20:把擺放 yt-dlp 的路徑與 config 文件裡的中文去除
Q21:可以改用 batch file 執行這些任務嗎?
A21:當然可以 batch file 的彈性更高 也是很棒的選擇
但基於文章定位 所以我在這裡是挑比較簡單好編寫的 config 做介紹
如果有這樣的進階需求 可以參閱 PTT 的這篇文章 裡面有介紹 batch file 該如何配置 我這裡就不多贅述
Q22:在使用 --cookies-from-browser 這項指令時,跳出了 ERROR: Could not copy Chrome cookie database. See https://github.com/yt-dlp/yt-dlp/issues/7271 for more info
A22:請參考本文的 plugin 安裝章節 (第 9 章節)
⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺
▍plugin 安裝
yt-dlp 也是能裝 plugin 的
而其中有一個 ChromeCookieUnlock 的 plugin
我很推薦會用到 --cookies-from-browser 指令的 chromium 核心瀏覽器用戶使用
像我自己平時用 Brave 瀏覽器 就可以裝這個
當然也還有其他 plugin 你可以在以下連結找到更多
這裡就用 ChromeCookieUnlock 做示範 其他 plugin 的安裝方式應該都大同小異
進來後 你可以看看側邊 Releases 有沒有幫你打包好的壓縮檔
沒有的話也沒關係 上方 Code 選單點一下後也會出現一個 Download ZIP 選項
圖片來源:自製
接著 到你擺 config 文件的資料夾
新增一個 plugins 資料夾
再新增一個資料夾 取名隨意 你看得懂就好 但建議只用英文
最後 把 zip 內的檔案解壓縮到裡面
路徑大致上呈現
plugins/(取個你看的懂的名子的資料夾)/(你下載的 zip 解壓縮放到這裡)
這樣即可 裡面的東西基本上只要保留 yt_dlp_plugins 資料夾就好
其他檔案可刪可不刪 除非他的 README 頁面裡有特別要求
圖片來源:自製
-
如果上面那個路徑解釋太抽象了
可以參考這個 這應該會比較好理解
⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺
▍苦手包(GUI 版本 yt-dlp 使用方式簡介)
當然 我知道大家會因為各種原因而無法或是不想使用 CMD
這裡我也提供了對電腦小白更友好的方案
接下來要介紹的是帶有使用者圖形介面的 yt-dlp
網路上有非常多種下載器
而這裡 我選用的是 StefanLobbenmeier 寫的 Open Video Downloader (youtube-dl-gui) 分支
這一款的介面簡單易懂 非常好操作 個人認為比較適合電腦小白們
圖片來源:StefanLobbenmeier - Open Video Downloader (youtube-dl-gui) 的 Github 發布頁面
在第一版文章中我也是介紹 Open Video Downloader (youtube-dl-gui) 那時還是介紹原始版本
原始版本是由 jely2002 所寫的 但原版已經停止更新 存在許多 bug
StefanLobbenmeier 重新處理了這項專案 現在還有在持續維護
是目前 Open Video Downloader (youtube-dl-gui) 裡星數最高的分支
首先 我們進來 Open Video Downloader 的 Releases 頁面:
找到標註為 Latest 的項目 並在下方 我們能看到
Open-Video-Downloader-Setup-X.X.X.exe
與 Open-Video-Downloader-X.X.X.exe
圖片來源:自製
含有 Setup 字元的項目為安裝檔
沒有的為便攜版本
兩者皆可使用 功能也都一樣 依照自己的喜好進行挑選即可
安裝檔的安裝方式這裡就不贅述 和其他應用程式的安裝方式都一樣
至於便攜版本點開就能用了 不過執行時會多出一個資料夾
裡面會擺放執行工作時必要的檔案與文件 請不要將他刪除
接著我們把他開啟
點開後會是全英文的介面
這裡我提供了主介面的翻譯與簡介給各位參考
同時也附上原作者製作的示範 gif
圖片來源:自製
圖片來源:StefanLobbenmeier - Open Video Downloader (youtube-dl-gui) 的 Github 發布頁面
另外 設定裡的選項我看過了
沒有必須要調整的設定 以預設模式進行使用即可
如果你有其他問題或需求 一樣可以在留言區提出
⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺
▍後話
這篇介紹文雖然是以前一篇為模板進行修整 但還是花了好多時間
前前後後共有 5000 多字 費了很多心力 敲鍵盤敲到肩膀爛掉 ( ´•̥̥̥ω•̥̥̥` )
不過我相信這是值得的 畢竟 yt-dlp 真的是很棒的工具
值得讓更多人知道這小巧可愛但又強大無比的實用程式
而如果有任何操作上的問題 或是文章內有錯誤之處
都可以在底下留言處提出 我都會一一回應!
(有時後可能要一小段時間我才會回覆
畢竟我平時也有很多自己的事要忙 / 為你查找解決方法 還請多擔待)
此篇文章到這裡就算是結束了
謝謝你願意看到最後
如果你覺得這篇文章對你有幫助
不妨按下喜歡、收藏!
最後 再次感謝各位的閱覽
希望這篇文章能讓你有所收穫!
⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺ ⫹⫺
▍備註
yt-dlp、Open Video Downloader (youtube-dl-gui) 與此文章內提到的任何應用程式、網頁、音樂版權等皆非我所有
此篇文章僅做為介紹用途 無任何營利行為
另外
如有需要轉發此篇文章的任何內容(文字、圖像等) 也還請附上來源
誠摯感謝各位