X

yt-dlp 啟用 JS 並 使用登入的 Cookie 下載影片

於 Linux 想要下載 YouTube 影片,可以使用 yt-dlp,但是若是非公開的影片,需要登入且新版需要啟用 JavaScript 才能通行,要怎麼做呢?

yt-dlp 啟用 JS 並 使用登入的 Cookie 下載影片

首先 yt-dlp 常常需要跟到最新版,不然會有問題:sudo yt-dlp -U

yt-dlp 搭配 Cookie 的其它參數可以參考此篇:yt-dlp 使用登入的 Cookie 來下載影片

在此主要是處理 JavaScript 的問題,可參考:EJS · yt-dlp/yt-dlp Wiki - External JS Scripts Setup Guide

我是使用 node.js 的版本

  1. apt install -y nodejs
  2. yt-dlp --js-runtimes node --remote-components ejs:github --cookies ./cookies.txt https://www.youtube.com/watch?v=XXXXXXXX

預設官方是用 Deno (尚未嘗試,先作紀錄)

  1. 安裝 Deno
  2. curl -fsSL https://deno.land/install.sh | sh
  3. echo 'export DENO_INSTALL="$HOME/.deno"' >> ~/.bashrc
  4. echo 'export PATH="DENO_INSTALL/bin:PATH"' >> ~/.bashrc
  5. source ~/.bashrc
  6. 更新 yt-dlp + 啟用遠端 EJS
  7. yt-dlp -U --remote-components ejs:github
  8. yt-dlp -v --remote-components ejs:github "https://www.youtube.com/watch?v=XXXXXXXX"

Cookies.txt 可使用下述 Extension:

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post