The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

介紹好用工具:yt-dlp (超強的影片下載工具)

這套 yt-dlp 工具是 youtube-dl 的替代品,功能不但變的更多、更完整,命令列的參數選項也多到爆炸,強到沒辦法完整介紹。今天這篇文章我就來簡單分享幾個常用的命令就好。

安裝與升級

yt-dlp 工具是一套跨平台的工具,安裝方式有很多種,這邊我就簡單用 Windows 平台的 Chocolatey 來介紹安裝及升級就好,其他平台請自行看官網說明。

  • 安裝

    choco install yt-dlp -y
    

    因為 yt-dlp 是一個變動很快、積極發展的開源,若是遇到有問題發生,建議更新到 nightly 版本:

    yt-dlp --update-to nightly
    

    你也可以用 Python 的 pip 安裝最新版本:

    python3 -m pip install -U --pre yt-dlp
    
  • 升級

    choco upgrade yt-dlp -y
    

常用命令

  • 下載影片 (也可下載整個播放清單)

    這個簡單的命令背後,背後可支援下載高達 1,800 個不同的影音網站,知名的像是 YouTube, Twitter, Bilibili, ... 都是支援的!

    yt-dlp <url>
    

    你可以用以下命令列出所有支援的網站

    yt-dlp --list-extractors
    

    下載時指定檔名 (video) 但保留下載影片的副檔名

    yt-dlp -o "video.%(ext)s" <url>
    
  • 下載字幕

    僅下載字幕,不下載影片

    yt-dlp --no-download --write-subs <url>
    

    下載 YouTube 自動產生的字幕

    yt-dlp --no-download --write-auto-sub <url>
    
  • 下載影片和字幕,並且把字幕寫入到影片中

    yt-dlp --embed-subs <url>
    
  • 下載影片並轉換為 MP3 聲音格式

    加入 -x 就是要擷取音訊部分,--audio-format mp3 就是要轉換為 MP3 格式:

    yt-dlp -x --audio-format mp3 <url>
    

    如果想在轉檔後同時保留影片檔,可以加入 -k 參數:

    yt-dlp -x --audio-format mp3 -k <url>
    
  • 限制下載速度: 限制下載速度至 500KB/s

    yt-dlp -r 500K <url>
    
  • 下載影片的特定部分 (裁剪影片)(例如前 90 秒)

    yt-dlp --downloader ffmpeg --downloader-args "-ss 00:00:00 -to 00:01:30" <url>
    
  • 從文字檔案中批次下載多個影片

    yt-dlp -a file.txt
    
  • 選擇下載 4K 影片 (如果有的話)

    yt-dlp -f 'bestvideo[height=2160]+bestaudio/best[height=2160]' <url>
    

    如果想查詢影片網址有提供哪些可用的格式,可以用以下命令:

    yt-dlp --list-formats <url>
    
    yt-dlp -F <url>
    
  • 下載一組播放清單中特定日期之後釋出的影片

    yt-dlp --date 20240306 <url>
    
  • 如果遇到錯誤則跳過繼續下載 (下載多部影片時可用)

    yt-dlp -i <url>
    
  • 取得下載影片的副檔名

    yt-dlp.exe --print "ext" <url>
    
    yt-dlp.exe --print "%(.{ext})j" <url>
    
  • 使用 JSON 格式取得影片的詳細資訊

    yt-dlp.exe -j <url>
    
  • 不要顯示下載進度

    yt-dlp --no-progress <url>
    
  • 忽略 yt-dlpconfig 設定檔

    yt-dlp --ignore-config <url>
    

    詳見 CONFIGURATION

  • 下載 Twitter 影片

    因為 yt-dlp 預設的輸出檔名為 %(title)s.%(ext)s 格式,在下載 Twitter 影片時,可能會遇到檔名不合法的問題,這時可以用以下命令來解決:

    yt-dlp --output "%(uploader)s_%(upload_date)s_%(id)s.%(ext)s" --merge-output-format mp4 --embed-thumbnail <url>
    

相關連結

留言評論