[Mac]使用終端機安裝 Youtube-dl 來下載 Youtube 影音檔案

appleseed
4 min readApr 20, 2020

--

首先要感謝 David the Numb  的教學!因為我在推特上牢騷了用瀏覽器套件來下載影片,結果不但很卡也沒找到相對高品質的檔案,後來 David 就很詳細地幫我介紹了 Youtube-dl 這個在終端機執行的下載套件,雖然終端機用起來非常陌生,但是一步一步執行,即使像我只用過幾次複製貼上別人寫好指令的人來說也是能完成的!

以下記錄安裝跟使用的方法:

  1. 安裝 HomeBrew (用來下載各種套件)
  2. 用 HomeBrew 來安裝 Youtube-dl (這次下載影片的主程式)
  3. 用 HomeBrew 來安裝 FFmpeg (影片轉檔用)
  4. 簡介 Youtube-dl 常用指令跟參數

首先,在終端機執行:

/usr/bin/ruby -e $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)

這樣就會自動安裝好 HomeBrew 了。

接下來安裝 Youtube-dl

brew install youtube-dl

執行終端機指令的時候要注意,大小寫是有別的。

再來繼續安裝 ffmpeg

brew install ffmpeg

如果出現錯誤訊息,有可能需要安裝 Xcode 的工具包,如果錯誤訊息有提示到 xcode-select install 那就是了XD 直接複製那行執行:

xcode-select install

接著再重新安裝一次 ffmpeg 就好。

安裝完畢之後,就可以準備來下載囉!在終端機輸入:

youtube-dl -f ‘bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best’ 下載影片網址

這裡稍微解釋一下,這段指令總共有四個部分

  1. youtube-dl :起頭的執行指令,youtube-dl 輸入到前幾個字的時候可以按Tab 鍵來自動完成,已經輸入過的指令可以按上下鍵找出來重複使用,不過我們接下來應該都是用複製貼上的情況比較多XD
  2. -f :轉換檔案格式的指令,這個之後要緊接想要把下載檔案轉檔成什麼樣的格式,可以用 mp4、m4a、mp3 、mkv 等等。例如:
youtube-dl -f mp4

使用 -F 則可以在終端機裡列出該影片有哪些相關的格式,每個檔案之前都會有一組對應的數字,例如249、250、140... 可以直接指定該號碼的檔案下載,例如:

youtube-dl -f 140 影片網址

3. ‘bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best’ :這段可以算是轉換格式的進階版,意思是:(David原音)「我要選擇所有格式裡面,最佳畫質,副檔名是 mp4,可以的話也要最佳音質,副檔名是 m4a/如果不能決定哪個最好,就幫我挑一個,副檔名是 mp4/如果還不能決定,就你幫我決定一個最好的」或者只要下載音樂檔,那可以寫成:’bestaudio[ext=m4a]’

4. 下載影片網址 :最後一部分填入要下載的 Youtube 影片網址,網址內容最好是最單純的這種 https://www.youtube.com/watch?v=XXXXXXXX,也可以是播放清單,它會自動全部一起下載。

下載下來的檔案預設放在使用者目錄下,如果想換存檔的位置,在執行前先要切換到該目錄,例如要下載到「下載項目」檔案夾,使用:

cd Downlands

比較一勞永逸地做法是,在 youtube-dl 的設定檔中事先指定好,做法是:

mkdir -p ~/.config/youtube-dltouch ~/.config/youtube-dl/configopen -a TextEdit ~/.config/youtube-dl/config

上面三行分別執行,作用是建立檔案夾、開啟 config 檔、呼叫文字編輯器來編輯 config 檔。

執行完畢後會跳出一個文字編輯檔,在裡面貼上:

--output "/Users/使用者名稱/Downloads/%(title)s.%(ext)s"

使用者名稱換成你自己的喔~接著儲存該檔。

這樣以後存檔就會放在下載項目,並將檔名改成「影片標題.影片格式」

最後再補充一點,下載影片可以連同 CC 字幕一起嵌入影片,相關的指令有:

--write-sub --embed-sub 嵌入字幕
--sub-lang zh-Hant 指定語言(中文)
--all-subs 下載所有字幕
--list-subs 列出所有字幕(顯示在終端機裡)
--write-sub --skip-download 只下載字幕不下載影片檔

好了!以上就是大致的流程,用終端機下載真的快速又簡便喔~

--

--

appleseed
appleseed

Written by appleseed

Bio裡該要寫點體面的格言才是。

Responses (1)