《影片備份 – yt-dlp Youtube影片下載工具的首選 – 學習筆記》

Telegram share !

相信每個自媒體工作者都會遇過一個問題,就是影片遺失的問題,當你的網站越來越大,但是你的儲存空間跟不上你的產內容的速度,或是你的NAS突然全掛掉,但是你的頻道影片卻毫無備份檔案,這時候你想要下載影片備份,但是官方沒有提供下載備份方式,就必須上網找一些第三方下載的網站,但這些網站可能充斥著釣魚或是詐騙的Youtube影片下載網站,很容易不小心就將自己的隱私資料外洩,近期再找相關Youtube影片下載工具的時候,發現國外有人在討論這套,討論度也挺高的,經過RD爸的測試也的確蠻容易上手的,本筆記我會將我所測試的知識分享給大家參考,我也順便紀錄下來當作備忘錄,也希望藉由此次分享讓初學者能更快掌握如何將自己Youtube頻道的影片備份一份到本地的機器。

介紹

yt-dlp 是一個免費的Open Source Command Line工具,可用於從各種網站下載視訊和音訊。它是 youtube-dl 的分支,並具有一些新的功能和錯誤修復,由於他的功能太多,本文只會針對常用的去做介紹其他指令建議可以參考官方的github說明=>此處

套件安裝

yt-dlp 是一套垮平台的工具,安裝方式也相當多元,在此我先提供大家最常用的windows安裝方式,建議可以使用 Chocolatey 來介紹安裝及升級就好。

安裝
choco install yt-dlp -y
更新至nightly版本
# 由於yt-dlp 變動很快,若是遇到有問題發生,可嘗試更新到 nightly 版本,以排除錯誤
yt-dlp --update-to nightly
升級
choco upgrade yt-dlp -y

指令格式

下載之前先腦補一下yt-dlp的指令格式。由於yt-dlp必須透過終端機輸入指令下載,你要餵給它「影片網址」,並加上「參數」告訴yt-dlp要怎麼處理影片,最終他會下載至你輸入指令的所在目錄裡面。

yt-dlp指令格式如下:

yt-dlp    [參數1...參數2...參數3]   "影片網址1" "影片網址2" "影片網址3"

※Tip:yt-dlp至少得填入一個影片網址,其餘參數可以任隨組合,以方便你控制具體下載的內容。不過你也可以不填參數,只給網址,讓yt-dlp用預設值下載影片

下載範例

1.下載影片 

yt-dlp <url>

2.下載影片如果原影片有字幕檔案會分拆一個同影片名的字幕檔案

yt-dlp --embed-subs <url>

3.下載影片並且擷取特定區間如前60秒

yt-dlp --downloader ffmpeg --downloader-args "-ss 00:00:00 -to 00:01:00" <url>

※Tip:如果你執行後發現無法擷取特定區間,他仍然是完整下載,並且出現以下錯誤,那應該是你少裝了ffmpeg套件,這時候不擔心還是用我們最常用的chocolatey指令安裝即可輕鬆安裝

ERROR: Postprocessing: ffmpeg not found. Please install or provide the path using --ffmpeg-location

3.1透過chocolatey安裝ffmpeg套件
choco install ffmpeg

#安裝畫面如下
PS D:\> choco install ffmpeg
Chocolatey v2.2.2
Installing the following packages:
ffmpeg
By installing, you accept licenses for the packages.
Progress: Downloading ffmpeg 7.0.0... 100%

ffmpeg v7.0.0 [Approved]
ffmpeg package files install completed. Performing other installation steps.
The package ffmpeg wants to run 'chocolateyInstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): yes
:
:
安裝細節省略

4.下載影片並指定畫質,如想要備份4k的影片

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

※Tip:如果你想要查詢該影片網址有提供哪些可用的格式,可使用–list-formats 找出後再利用以上指令即可下載對應的版本

yt-dlp --list-formats <url>

實際執行結果如下

5.下載影片並且指定檔名

yt-dlp -o "video.%(ext)s" <url>

6.僅下載字幕,不下載影片

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

7.下載該影片 YouTube 自動產生的字幕

yt-dlp --no-download --write-auto-sub <url>

8.批次下載多個影片(可預先將相關應片url存入文字檔案)

官方說明:檔案中包含多個要下載的影片網址,每行為一個下載的URL,依序換行,假如我要下載三個不同網址的影片,則分三行輸入yt-dlp即可辨識,如果今天你臨時不要下載某些影片,可以使用 # 來當作註解,yt-dlp即會略過此影片路徑,urls.txt內容請參考下方範例

#<url>
<url>
#<url>
yt-dlp -a urls.txt

※Tip:如果下載時候遇到錯誤,則直接跳過繼續後續url下載 (在下載多部影片時滿好用的)

yt-dlp -i <url>

9.取得影片的詳細資訊

yt-dlp.exe -j <url> > meta.txt

10.僅下載特定語系字幕檔案,如中文字幕,不包含原始影片

yt-dlp --no-download --write-sub --write-auto-sub --sub-lang "zh-Hans.*" <url>

#下載英文字幕
yt-dlp --no-download --write-sub --write-auto-sub --sub-lang "en.*" <url>

11.下載影片並包含中文字幕

yt-dlp -v --embed-subs --write-auto-sub --sub-lang "zh-Hans.*" <url>

12.下載1080的影片

yt-dlp --output "%(title)s.%(ext)s" -f "bestvideo[height<=1080]+bestaudio[ext=m4a]" --embed-thumbnail --add-metadata --merge-output-format mp4 "<url>" 
 

Reference

  • yt-dlp指令完整說明文件請參閱 官方Github:連結