使用 youtube-dl 下載視頻
youtube-dl 是一個使用 Python 編寫的腳本, 在視頻下載方面極其強悍, 比在線解析網站的下載速度更穩定更快, 並且對於 YouTube 的 1080p 及以上的視頻可以自動合併音視頻(需要 ffmpeg);由於這是一個命令腳本工具, 沒有UI界面, 因此它強大的功能就要靠參數來實現, 借用不同的參數可以實現不同的下載方式, 比如指定格式, 下載視頻字幕, 批量下載, 代理下載等等。
安裝 youtube-dl
所有 UNIX 用戶可通過 curl 下載
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
通過 pip
sudo pip install --upgrade youtube_dl
macOS 用戶通過 brew
brew install youtube-dl
查詢 youtube 視頻格式
youtube-dl -F [url]
下載指定 youtube 視頻格式
youtube-dl -f [format code] [url]
如果需要下載 1080p 視頻與音頻合併 [format code] 填寫 137+140
youtube-dl -f [format code] [url]
例如
λ ~ youtube-dl -F https://www.youtube.com/watch\?v\=Y2VF8tmLFHw
[youtube] Y2VF8tmLFHw: Downloading webpage
[youtube] Y2VF8tmLFHw: Downloading video info webpage
[youtube] Y2VF8tmLFHw: Extracting video information
[youtube] Y2VF8tmLFHw: Downloading MPD manifest
[info] Available formats for Y2VF8tmLFHw:
format code extension resolution note
139 m4a audio only DASH audio 57k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 53.63MiB
140 m4a audio only DASH audio 136k , m4a_dash container, mp4a.40.2@128k (44100Hz), 143.24MiB
160 mp4 256x144 DASH video 127k , avc1.4d400c, 30fps, video only, 67.86MiB
133 mp4 426x240 DASH video 285k , avc1.4d4015, 30fps, video only, 148.38MiB
134 mp4 640x360 DASH video 646k , avc1.4d401e, 30fps, video only, 258.74MiB
135 mp4 854x480 DASH video 1172k , avc1.4d401f, 30fps, video only, 510.83MiB
136 mp4 1280x720 DASH video 2359k , avc1.4d401f, 30fps, video only, 1002.76MiB
137 mp4 1920x1080 DASH video 4613k , avc1.640028, 30fps, video only, 2.75GiB
17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k
36 3gp 320x180 small , mp4v.20.3, mp4a.40.2
18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k
22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)
下載視頻字幕
youtube-dl --write-sub [url] //這樣會下載一個vtt格式的英文字幕和mkv格式的1080p視頻下來
youtube-dl --write-sub --skip-download [url] //下載單獨的vtt字幕文件, 而不會下載視頻
youtube-dl --write-sub --all-subs [url] //下載所有語言的字幕(如果有的話)
youtube-dl --write-auto-sub [url] //下載自動生成的字幕(YouTube only)
之後
youtube-dl -f 137+140 https://www.youtube.com/watch\?v\=Y2VF8tmLFHw
下載視頻列表
youtube-dl -f [format code] [playlist_url] //這種方式可以下載制定清晰度的mp4視頻
youtube-dl [playlist_url] //下載視頻列表, 這種方式下載的視頻可能是mkv格式或者webm格式
youtube-dl -cit [playlist_url] //下載視頻列表, 這種方式下載的視頻可能是mkv格式或者webm格式
youtube-dl --yes-playlist [url] //當鏈接爲視頻列表, 則下載該列表視頻, 跟上面的一樣, 可能是mkv或者webm格式