創作內容

17 GP

【密技】Youtube-dl — 傳說中的辣個工具

作者:這種要求我還真沒見過│2021-07-17 20:11:30│巴幣:82│人氣:1521
-前言-

youtube-dl

沒錯 傳說中的辣個工具

想用但卻不知道該怎麼用?

沒問題!現在就讓我手把手教你該如何使用youtube-dl吧!

--------------------------------------------------

這篇文章會以下面10個類別來讓各位更好理解youtube-dl該如何使用

  1. 前言
  2. 關於youtube-dl
  3. 安裝環境
  4. 指令簡介
  5. config配置
  6. cmd實際操作
  7. 常見問題
  8. 苦手包
  9. 後話
  10. 備註

順帶一提 如果覺得文章圖片看不清楚的話 點開來看就行了

**新版閱覽文字會錯位 建議用舊版閱覽觀看**



-關於youtube-dl-


youtube-dl是一項開源專案,它可存取上百種影音串流平台的內容
而它是使用Python做為開發基礎的,讓它得以在各式平台上做使用
也同時正因為開源,所以衍生出了以下幾款不同樣式的youtube-dl

  1. youtube-dl
  2. youtube-dlc
  3. yt-dlp
  4. youtube-dl-gui

如上所示 常見的有4種
前3項並不含使用者介面 需要用cmd做為窗口執行操作
而最後1項則有

我目前使用的只有yt-dlp
所以全篇文章會以yt-dlp做為主軸介紹
但苦手包也會附上youtube-dl-gui的使用方法
方便真的看不懂的這文到底在供三小的電腦苦手們也能開心使用
(但還是建議使用yt-dlp 畢竟彈性空間較大 能使用的東西也較多)

至於為何不用本家 以及這4種版本的目前狀況
你可以在常見問題裡找到解答



-安裝環境-


由於我並不熟悉macOS和Linux系統 在此只提Windows的操作方式


好 這裡我們會需要用到2樣工具

  1. yt-dlp
  2. ffmpeg

首先是yt-dlp

點擊yt-dlp.exe的這個選項 把它載下來就好

載下來之後是個小巧可愛的exe檔
不用雙擊啟動它 把它放在一個你喜歡的位置即可


第二項是 ffmpeg
ffmpeg是用於音訊處理 嵌入圖片等各式各樣工作的工具
你會很需要用到它的

到頁面下半部 你可以找到 release 這個類別
如附圖所示 點擊Links下方的那一行就可以把ffmpeg載下來了

載下來後是7z檔
把它全部解壓縮到跟yt-dlp同樣的位置

如果你覺得檔案夾名稱太落落長 可以更改一下名稱
像是底下附圖這樣


安裝環境目前就稍微告一段落 很簡單對吧



-指令簡介-


在開始下一步前 我想先簡單說明一下一些指令
當然 指令有爆幹多 我不可能現在全部列出來一個一個解釋
所以我只說我個人認為比較重要的

另外 有些指令我後面有打上[     ]且內有數字或大寫英文字
這代表著這是可以自由替換的 能設成你想要的選項

yt-dlp
這是每次執行yt-dlp都會需要用到的前綴
用於呼叫並執行yt-dlp
沒有在指令前添加這項前綴的話
cmd只會報
"不是內部或外部命令、可執行的程式或批次檔。" 給你而已
沒有這傢伙就啥都幹不了
-F 列出所有可供下載的格式及格式程式碼
-f [FORMAT] 指定格式程式碼
--extract-audio 將影片檔案轉換為純音訊檔案
--audio-format [FORMAT] 指定音訊格式 目前支援 mp3 / m4a / opus / wav / aac / flac / vorbis
--recode-video [FORMAT] 指定影片格式 目前支援 mp4 / flv / ogg / webm / mkv / avi
--embed-subs 嵌入字幕至影片中 僅適用於mp4 / webm / mkv
--concurrent-fragments [N]
多線程下載 可以指定你想要的線程數
如不使用此指令 預設線程數為1
--version 確認當前yt-dlp版本
--update 更新yt-dlp
--output 'X:\[PATH]'
指定檔案輸出位置
如果不設定此指令的話
預設位置是 C:\Users\[NAME]

當然 這僅僅是只佔了極小部分
更多指令你可以從這裡找到





-config設置-


既然我們已經大致了解指令可以用來幹嘛了
那可以開始下載我要的東西了嗎?

別急 在開始真正下載前 還有一件事要做

設置預設全域配置

這能讓你在編寫指令及往後使用yt-dlp時更加方便
--------------------------------------------------
首先 我們要自行建立一個資料夾和一個文字文件檔
我們要在這個路徑下設置名為 yt-dlp 的資料夾:
C:\Users\[USER]\AppData\Roaming

如果你找不到AppData這個項目 到資料夾選項開啟顯示隱藏檔案就行
網路上有教學 這裡就不多做贅述

建立好之後 我們點進來yt-dlp這個資料夾內
並新增一個名為config.txt的檔案

完成好後會像下圖所示

沒錯 就是這麼簡單

接著 點開你剛剛建立好的config.txt

貼上這個進config.txt裡:
--output '[PATH]\%(title)s.%(ext)s'


接著 找個你喜歡的資料夾做為預設下載位置

選擇好你喜歡的資料夾後 把它的路徑複製起來
取代上面--out put指令中[PATH]的部分

以我的路徑做為示範好了
最後出來的會類似像這樣:
--output 'C:\Users\jk\Desktop\music\%(title)s.%(ext)s'

我知道你們想問後面那個奇怪的%(title)s.%(ext)s是什麼
簡單解釋一下
這是為了消除影片及音訊ID
假如說 我今天要下載一個影片
影片標題叫做 霸主樹屋廢墟開箱備份 (中文字幕)
那最終下載完後的影片 出來的主檔案名稱就會是 霸主樹屋廢墟開箱備份 (中文字幕)

如果沒有這些奇怪的東西呢?
那它最終下載出來的主檔案名就會叫做 霸主樹屋廢墟開箱備份 (中文字幕) [Uucqx-bV5TI]

另外 這東西很好理解 它其實就是長這樣

%([NAME])s


也就是說 你可以進一步運用同樣的邏輯
置換括弧中的[NAME]來做出更多變化
因應不同的情況置換不同的配置

更多指令你可以從這裡找到





-cmd實際操作-


由於指令可以由各種方式呈現
我這裡只簡單的解釋大致上的操作過程

超級簡單 不用擔心 就是複製貼上而已

首先 找到你想要下載的影片
那我們就拿這個
[AMV]刀劍神域:Alicization War of Underworld part 2 【ANIMA】By ReoNA (中日字幕)   https://youtu.be/mimLMJO5o9o
來示範好了
--------------------------------------------------
打開你的cmd
直接輸入
yt-dlp -F https://youtu.be/mimLMJO5o9o


並按Enter

我們可以得到如下圖所示的列表

你可以在這裡看到所有可以下載的格式
而且所有的影片資料都寫在上面了

選好你要的影片格式
往前看 你會看到在開頭 每個不同的格式都有各自的ID
也就是說 我們必須靠指定ID 讓yt-dlp下載我們想要的影片

我們就來載ID為22的720p影片好了
那麼該輸入些什麼?

很簡單
用 -f 這項指令來指定格式

示範如下
yt-dlp -f 22 https://youtu.be/mimLMJO5o9o



如果你成功了 底下顯示的就會類似這樣


通常1080p以上品質的影片並不會自帶聲音
所以要額外多加下載音訊檔案
選定你想要的影片和音訊內容
在2者之間的ID加上 + 這個符號

示範如下
yt-dlp -f 303+251 https://youtu.be/mimLMJO5o9o



如果你成功了 底下顯示的就會類似這樣

看吧 超簡單的
就是打幾個英文字然後剪剪貼貼
然後哇~~
你想要的東西就出來了

當然 這是最簡單的下載方式
如果你對品質或是效率有更高的要求
指令庫裡面有更多指令供你操作





-常見問題-


在這裡 我會把問題種類分為 "關於youtube-dl" 和 "操作yt-dlp上的問題"
解答一些常見且你可能會有疑問的大小事

--------------------------------------------------


關於youtube-dl


Q1:你在最一開始提到了4種不同的youtube-dl,它們各自不同的地方在哪裡?

A:youtube-dl是本家
youtube-dlc是暫停更新許久的版本
yt-dlp是目前社群裡最為活躍的版本
youtube-dl-gui則是含有使用者介面的youtube-dl 操作起來最為方便的版本
而這4種youtube-dl皆出自不同人所製


Q2:為什麼不選擇本家,而要選擇yt-dlp?

A:youtube-dl雖然是本家 但更新及修補錯誤的速度比不及yt-dlp
而且yt-dlp有支援更多不同的指令
在Reddit上的 youtube-dl版 內你可以找到更多資訊
本家和yt-dlp的更新日誌皆在最上方

簡單來說
yt-dlp就是youtube-dl 2.0
更為強大且好用


Q3:使用它們,我的電腦會有任何危害嗎?

A:至少截至目前為止 我還沒聽說過youtube-dl們有任何負面消息
除了本家曾經被美國唱片公司因版權問題提告而慘遭Github下架之外



Q4:要用yt-dlp的話,硬體規格至少要多高?

A:你的電腦能開cmd就可以用了


Q5:你說可以存取上百種影音串流平台的內容,該怎麼用?

A:不知道 我從來沒想過這個問題 至少現在還沒開始研究


Q6:中文指令庫跟原文指令庫有差嗎

A:有 其實差的還蠻多的
畢竟中文指令庫是挑本家那邊的資訊做翻譯 而且也很久沒更新了
原文指令庫那邊才有最新資訊

但說實在 中文指令庫裡的就已經很夠我們用了


Q7:可以的話,也能順便教一下macOS和Linux要怎麼操作嗎?

A:我沒有macOS和Linux系統的電腦 不確定實際上到底該怎麼做
如果有好心人願意提供自己的使用經驗的話 我會補上


Q8:嗚嗚...我真的看不懂到底要怎麼操作,可是我也好想用喔...

A:底下苦手包參考一下


--------------------------------------------------


操作yt-dlp上的問題


Q1:只顯示了幾行錯誤資訊就不動了?

A:檢查你的指令 看有沒有打錯字 或是格式錯誤的地方
要特別注意你的空格有沒有多空或少空


Q2:下載到一半,cmd突然不動了

A:嘗試改用系統管理員的cmd


Q3:下載到一半,檔案管理員卡住了

A:把檢視方式改為清單 不然就不要開著檔案管理員


Q4:檔案管理員卡住之後,我沒辦法操作裡面的內容

A:到工作管理員(快捷鍵:Ctrl+Shift+Esc)把Windows檔案總管重新啟動


Q5:我他媽的手賤 不小心把Windows檔案總管結束工作了 現在電腦畫面完全是黑的QQ

A:去重啟電腦 可憐啊


Q6:檔案沒下載成功,而且最後顯示了 "Http error 403: Forbidden"

A:添加指令
--force-ipv4
試試看


Q7:檔案沒下載成功,而且最後顯示了 "unexpected status code: 404"

A:重新下載一次就好


Q8:不能下載年齡限制的影片

A:yt-dlp在2021.06.23版本的更新裡有修補這項錯誤 確認你有沒有安裝了最新的yt-dlp


Q9:下載速度突然減慢到只剩KiB了

A:這是YouTube的服務政策所導致 但還是可以解決
添加指令
--throttled-rate 100K

即可


Q10:我的IP位置在歐盟地區,有絕大多數影片不允許我載

A:你是歐盟新政策的受害者
用proxy繞到其他國家的IP嘗試下載
添加指令
--proxy [IP]


IP要填什麼 自己上網找


Q11:我嘗試嵌入影片縮圖做為檔案封面,但卻顯示失敗

A:重新下載即可


Q12:音訊檔案嵌入影片縮圖,並用撥放程式開啟後,封面變成上半部是黑色 下半部是影片縮圖這樣的狀況了

A:添加指令
--ppa "EmbedThumbnail+ffmpeg_o:-c:v mjpeg -vf crop=\"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\""
即可
這串指令會自動把影片封面裁切正中間的部分做為封面 裁切的長寬比是1:1
能夠很好的解決美觀上的問題


Q13:我希望下載速度再快一點

A:嘗試添加
--concurrent-fragments 8
這條指令看看
這條指令是用於增加線程數 應該會對你的下載速度有些許提升
當然 數字部分是可以更改成你想要的線程數
但我不確定最高支援到多少線程
順帶一提 yt-dlp的預設線程數是1


Q14:下載出來的東西只有part檔案

A:重新下載即可


Q15:yt-dlp很容易報錯,有沒有可以盡可能減少下載時出錯的指令

A:你可以添加以下幾項指令
--force-ipv4
--throttled-rate 100K
--continue
--retries
--proxy [IP] (選填 依照個人需求決定)



這些指令可以幫助你盡可能的減少報錯機會 並增加下載檔案時的流暢度


Q16:我想要取消下載

A:把cmd直接關掉即可


Q17:config裡的指令能不能換行寫,全部擠在一行很難看

A:可以



-苦手包-


我知道 我理解
有很多東西其實真的不是想要懂就能懂
但同時也不甘寂寞 很想要參一咖
對嗎?

別擔心 這裡有項很方便的工具 能讓你即便完全不了解也能輕鬆玩youtube-dl

沒錯 就是我們最偉大的youtube-dl-gui


趕快來看看吧 下載最新版本即可

這邊你可以選擇要下載需安裝版本或是免安裝版本 挑你喜歡的即可
注意尾綴
安裝版本:Setup
安裝版本:portable

好了之後就直接把它開啟吧
系統可能會把它擋下來
點擊其他資訊→仍要執行即可

好 讓我們來看看裡面長甚麼樣子...

沒錯 全部都是英文 還沒有置換語言的選項

什麼?你看不懂英文?

沒問題 讓我來翻譯給你看!










--------------------------------------------------

大致上就是如此

對了 記得先到左下角設定檔案儲存位置再開始使用喔

使用方式很簡單 就是把連結貼上 然後很直覺的這邊點點那邊點點 就可以了

如果遇到任何操作上的困難再來找我



-後話-


首先 先謝謝你花了大把時間看完這篇文章
小妹我感激涕零

其實老早就想研究一下怎麼使用這東西了
巴哈上也沒看到太多關於youtube-dl的文章
於是趁著之前被桶2周的機會
於是來好好研究一下這如此強大的神祕妙妙工具
順便寫個簡單的懶人包提供給各位

幹 那個gui繁中化就花了我8個小時...肩膀會爛掉...

其實這文章早在7月初的時候就寫好了 但窩一直沒發
所以圖片裡的東西可能多少會有落差 至於操作上應該不會差太多

最後
如果有任何錯誤或想補充的 都歡迎來跟我說一聲喔 謝謝各位!



-備註-


除了文字教學之外
我也有額外再做一隻影片教學
主要是強化cmd實際操作章節部分的更多內容
更多實用的操作方式都整合在裡面了
有需要的就來看一下吧!~ ☆(ゝω●)



文字最後編輯 2021/09/01
圖片最後編輯 2021/07/04
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=5211217
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:實用|密技|工具

留言共 18 篇留言

かかか
謝謝,ㄐㄐ

07-17 20:12

這種要求我還真沒見過
不客氣,ㄐㄐ07-17 20:14
城牆的另一頭
謝謝ㄐㄐ

07-17 20:23

這種要求我還真沒見過
好耶ㄐㄐ07-17 20:24
Apink的PinkPanda
好猛ㄛ ㄐㄐ

07-17 20:28

這種要求我還真沒見過
10秒16部 ㄐㄐ07-17 20:30
你說的沒錯
什麼小妹,不是ㄐㄐ嗎?

07-17 20:34

這種要求我還真沒見過
誰說小妹和ㄐㄐ不能同時存在[e2]07-17 20:36
不稱職的DD俠
說好的手把手ㄋ

07-17 20:57

這種要求我還真沒見過
難不成我要拍手照給你嗎(´・ω・`)(正言)07-17 21:03
九獄不破
ヾ(@^▽^@)ノ

07-17 23:16

這種要求我還真沒見過
d(d'∀')07-17 23:19
哈哈可樂 (´・ω・`)つ
你真的好棒

07-17 23:36

這種要求我還真沒見過
泥也好棒[e5]07-17 23:40
初音才不是軟體
我用pip裝 更新比較方便

08-02 10:10

這種要求我還真沒見過
窩有測過 其實手動安裝一樣可以用--update08-02 10:16
初音才不是軟體
原來如此
btw,Linux跟macOS用pip裝好之後 操作應該都一樣

08-02 10:43

這種要求我還真沒見過
度 操作方面理論上會是一樣的08-02 11:02
安卓精靈
執行檔都是包好的封裝包沒必要載python吧

08-12 12:34

這種要求我還真沒見過
這東西比較不一樣 沒python它動不起來08-12 12:57
安卓精靈
我是用youtube-dl和ffmeg的exe檔都正常使用不需要py啊

08-12 12:58

這種要求我還真沒見過
太酷了吧 窩剛剛試了一下 真的耶08-12 13:04
安卓精靈
exe檔就是封裝包 理論上是不需要配置環境的 因為它都事先幫你build好程式了吧

08-12 13:00

這種要求我還真沒見過
有道理08-12 13:05
安卓精靈
除非你是載source code去compile 不然exe都是電腦可直接執行的

08-12 13:06

這種要求我還真沒見過
我找個時間修一下內文好了08-12 13:08
安卓精靈
(*for windows環境)

08-12 13:08

這種要求我還真沒見過
[e17]08-12 13:22
安卓精靈
至於找不到教學 老實說這種star很多的專案 readme.md都打的很好 沒必要看第三方的文檔 除非是給外行人看的

08-12 13:16

這種要求我還真沒見過
度 我寫這篇就是為了給有興趣但只想看懶人包的人看的08-12 13:22
久留木
請問添加指令 是直接加在整段後面? --←要打嗎? 可以跨行追加?

10-11 22:53

這種要求我還真沒見過
1.要加在影片連結前面 2.要 3.跨行追加是指...?10-11 23:20
久留木
已懂 感謝

10-11 23:56

這種要求我還真沒見過
歐給10-12 00:11
Kevin
打得很詳細 感謝 但我印象中檔案總管只能重新啟動

昨天17:10

這種要求我還真沒見過
不會 有幫到你就好昨天19:14
這種要求我還真沒見過
至於QA的部分是我依照自己的使用經驗寫出來的 所以可能每個人的狀況都不相同 遇上問題的話 能用什麼方式解決就用什麼方式解決ㄅ昨天19:14
我要留言提醒:您尚未登入,請先登入再留言

17喜歡★mashumeow 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:【閒聊】我是廢文... 後一篇:【閒聊】成功ㄌ......

追蹤私訊切換新版閱覽

作品資料夾

aaa1357932大家
各位有空可以來我家看看畫作或聽聽我的全創作專輯!看更多我要大聲說昨天11:39


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】