youtube-dl網路影片下載器

簡介

當我們要下載網路影片時,通常會去使用browser上的套件來下載,其實除了browser套件外,我們也可以使用command-line的方式,也就是這篇要介紹的youtube-dl。

youtube-dl功能十分強大,也有很多參數可以調整,能下載的網站不只是youtube,也可以是其他熱門網站,例如Facebook等等,更重要的是這個工具有多個平台可以使用(Windows、Mac、Linux)。

除了指令youtube-dl以外,我們也可以用GUI的介面的工具youtube-DLG,使用上更為方便,詳請可參考最強的網路影片下載器 Youtube-dl-gui 只要有網址就能幫你搞定

安裝

MAC

1
2
3
brew install youtube-dl
# 如果有需要後續轉檔的話
brew install ffmpeg

Ubuntu

1
2
3
sudo apt-get install youtube-dl
# 如果需要後續轉檔的話
sudo apt-get install ffmpeg

Python

其實更好的方法是使用Python的pip來安裝,因為youtube-dl本身就是使用Python所寫成的,而由於影片的網站更新很快,所以可能要隨時更新到最新版的youtube-dl才行,OS distribution不一定會出的那麼快。

1
2
3
pip install --upgrade youtube_dl
# 如果使用python3的話
pip3 install --upgrade youtube_dl

使用

這邊介紹一些常用的指令

支援

  • 確定有支援下載哪些影片網站,相關列表也可以從官網查詢
    1
    youtube-dl --extractor-descriptions

格式

如果我們沒有指定格式的話,通常youtube-dl會幫我們挑最好的

  • 指定下載的影片格式
    1
    2
    3
    4
    5
    6
    # 先查詢有哪些格式可下載
    youtube-dl -F [URL]
    # 指定下載格式
    youtube-dl -f mp4 [URL]
    # 或是用format code
    youtube-dl -f [列表中的format code] [URL]

輸出格式

由於官方的輸出格式預設有帶ID(%(title)s-%(id)s.%(ext)s),我們可以將其去除

1
youtube-dl -o '%(title)s.%(ext)s' [URL]

字幕

  • 選擇嵌入特定字幕
    • --write-sub代表下載字幕
    • --embed-sub代表嵌入字幕
    • --sub-lang代表要選擇的字幕
      1
      2
      3
      4
      # 先列出可下載的字幕列表
      youtube-dl --list-subs [URL]
      # 嵌入想要的字幕
      youtube-dl --write-sub --embed-sub --sub-lang [字幕] [URL]
  • 直接嵌入所有字幕
    • --all-subs選擇所有字幕
      1
      youtube-dl --write-sub --embed-sub --all-subs [URL]

轉為音樂格式

如果我們要下載音樂格式的話,基本上需要有ffmpeg的輔助

  • 選擇要下載的音樂格式,例如mp3、m4a、flac等等
    1
    youtube-dl -x --audio-format [音樂格式] [URL]
  • 可以用--audio-quality強迫ffmpeg轉換較高品質的音樂,0是最好,9是最差
    1
    youtube-dl -x --audio-format [音樂格式] --audio-quality [音樂品質] [URL]
  • 下載時附上封面(使用youtube截圖)和音樂資訊(作曲者等等)
    1
    youtube-dl -x --audio-format [音樂格式] --embed-thumbnail --add-metadata [URL]

下載播放清單

  • 其實只要把[URL]換成播放清單的網址即可,不過我們也可以指定開始和結束位址
    • --playlist-start:開始
    • --playlist-end:結束,也就是倒數第幾個影片
      1
      youtube-dl --playlist-start [開始位置] --playlist-end [結束位置] [URL]

常用

我這邊直接列出常用的指令,如果要使用可以直接copy比較快

  • 下載mp4影片並加上字幕
    1
    youtube-dl -f mp4 --write-sub --embed-sub --all-subs -o '%(title)s.%(ext)s' [URL]
  • 下載mp3音樂,並加上封面
    1
    youtube-dl -x --audio-format mp3 --audio-quality 0 --embed-thumbnail --add-metadata [URL]

參考