於 Linux 想要下載 YouTube 影片,可以使用 yt-dlp,但是若是非公開的影片,需要登入要怎麼下載呢?
yt-dlp 使用登入的的 Cookie 來下載影片
yt-dlp 有把登入也做在裡面,只是需要產生 cookies.txt,詳細可見官方說明:FAQ · yt-dlp/yt-dlp Wiki · GitHub
以下兩種可以自己測試,我沒使用這兩種:
- yt-dlp -u XXXXXXX@gmail.com https://www.youtube.com/watch?v=XXXXXXXX
- yt-dlp --cookies-from-browser chrome:~/.config/google-chrome https://www.youtube.com/watch?v=XXXXXXXX
我使用 cookies.txt 直接載入:
- yt-dlp --cookies ./cookies.txt https://www.youtube.com/watch?v=XXXXXXXX
- 註:若無法直接使用,可以先使用 curl 測試成功後,轉換 cookies.txt,如下:
- curl -b cookies.txt --cookie-jar ytcookie.txt "https://youtube.com" # 將 cookies.txt 轉換成 ytcookie.txt,可以使用 ytcookie.txt
cookies.txt 可以使用下述 瀏覽器的 Extension 來拿到: