0%

使用 yt-dlp 下载 YouTube 视频

安装yt-dlp

1
2
brew install yt-dlp
brew install ffmpeg

查看需要下载的视频信息

1
2
3
yt-dlp -F [视频链接]
-F #查看视频格式构成
--proxy [系统代理] #填写你的系统代理设置,如果使用全局模式可不使用此语句。

效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[liudongkai@MBPR DIR]$ yt-dlp -F 'https://www.youtube.com/watch?v=BfKhREVFLkQ'
[youtube] BfKhREVFLkQ: Downloading webpage
[youtube] BfKhREVFLkQ: Downloading android player API JSON
[info] Available formats for BfKhREVFLkQ:
ID EXT RESOLUTION FPS CH │ FILESIZE TBR PROTO │ VCODEC VBR ACODEC ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb2 mhtml 48x27 0 │ mhtml │ images storyboard
sb1 mhtml 80x45 0 │ mhtml │ images storyboard
sb0 mhtml 160x90 0 │ mhtml │ images storyboard
139 m4a audio only 2 │ 14.75MiB 49k https │ audio only mp4a.40.5 49k 22k low, m4a_dash
249 webm audio only 2 │ 14.75MiB 49k https │ audio only opus 49k 48k low, webm_dash
250 webm audio only 2 │ 19.28MiB 64k https │ audio only opus 64k 48k low, webm_dash
140 m4a audio only 2 │ 39.16MiB 129k https │ audio only mp4a.40.2 129k 44k medium, m4a_dash
251 webm audio only 2 │ 37.87MiB 125k https │ audio only opus 125k 48k medium, webm_dash
17 3gp 176x144 6 1 │ 24.10MiB 80k https │ mp4v.20.3 80k mp4a.40.2 0k 22k 144p
394 mp4 256x144 25 │ 21.49MiB 71k https │ av01.0.00M.08 71k video only 144p, mp4_dash
160 mp4 256x144 25 │ 28.80MiB 95k https │ avc1.4d400c 95k video only 144p, mp4_dash
278 webm 256x144 25 │ 27.91MiB 92k https │ vp9 92k video only 144p, webm_dash
395 mp4 426x240 25 │ 42.74MiB 141k https │ av01.0.00M.08 141k video only 240p, mp4_dash
133 mp4 426x240 25 │ 64.43MiB 213k https │ avc1.4d4015 213k video only 240p, mp4_dash
242 webm 426x240 25 │ 53.42MiB 177k https │ vp9 177k video only 240p, webm_dash
396 mp4 640x360 25 │ 77.45MiB 256k https │ av01.0.01M.08 256k video only 360p, mp4_dash
134 mp4 640x360 25 │ 133.02MiB 440k https │ avc1.4d401e 440k video only 360p, mp4_dash
18 mp4 640x360 25 2 │ 176.85MiB 585k https │ avc1.42001E 585k mp4a.40.2 0k 44k 360p
243 webm 640x360 25 │ 94.81MiB 313k https │ vp9 313k video only 360p, webm_dash
397 mp4 854x480 25 │ 135.38MiB 448k https │ av01.0.04M.08 448k video only 480p, mp4_dash
135 mp4 854x480 25 │ 252.89MiB 836k https │ avc1.4d401e 836k video only 480p, mp4_dash
244 webm 854x480 25 │ 163.98MiB 542k https │ vp9 542k video only 480p, webm_dash
22 mp4 1280x720 25 2 │ ~562.06MiB 1815k https │ avc1.64001F 1815k mp4a.40.2 0k 44k 720p
398 mp4 1280x720 25 │ 273.87MiB 906k https │ av01.0.05M.08 906k video only 720p, mp4_dash
136 mp4 1280x720 25 │ 510.01MiB 1686k https │ avc1.4d401f 1686k video only 720p, mp4_dash
247 webm 1280x720 25 │ 308.25MiB 1019k https │ vp9 1019k video only 720p, webm_dash
399 mp4 1920x1080 25 │ 478.48MiB 1582k https │ av01.0.08M.08 1582k video only 1080p, mp4_dash
137 mp4 1920x1080 25 │ 961.41MiB 3179k https │ avc1.640028 3179k video only 1080p, mp4_dash
248 webm 1920x1080 25 │ 517.76MiB 1712k https │ vp9 1712k video only 1080p, webm_dash

从结果中可知最佳画质视频ID为mp4格式的137和webm格式的248(纯视频无音轨),最佳音轨ID为m4a格式的140和webm格式的251(纯音轨无视频)。如果你认为720p已经满足需求,则只下载ID22也可(已经包含视频和音轨)。

以webm为例,将最高质量的webm视频和webm音轨进行合并。

下载音视频并合并

1
2
3
4
5
6
yt-dlp -f [下载ID] [代理配置] [视频链接] [合并语句] [外部下载器选择] [下载器参数]
-f [id] #选择下载内容,注意和 -F 区分。以webm为例,可使用248+251,如果你只下载720p则填写22就好,后面的合并语句可不填写。
--proxy #代理配置 见前文
--merge-output-format [合并输出格式] #合并时可使用的容器格式,以“/”分隔,例如“mp4/mkv”。如果不需要合并,则忽略。(目前支持:avi、flv、mkv、mov、mp4、webm)
--downloader [指定外部下载器] #外部下载器名称或路径,目前支持原生、aria2c、avconv、axel、curl、ffmpeg、httpie、wget。
--downloader-args [下载器名称]:"[下载器配置]"

效果

1
2
3
4
5
6
7
8
9
10
11
[liudongkai@MBPR DIR]$ yt-dlp -f 248+251 'https://www.youtube.com/watch?v=BfKhREVFLkQ' --merge-output-format webm
[youtube] BfKhREVFLkQ: Downloading webpage
[youtube] BfKhREVFLkQ: Downloading android player API JSON
[info] BfKhREVFLkQ: Downloading 1 format(s): 248+251
[download] Destination: ENG SUB《陈情令 The Untamed》EP01——主演:肖战、王一博、孟子义 [BfKhREVFLkQ].f248.webm
[download] 100% of 517.76MiB in 01:45 at 4.91MiB/s
[download] Destination: ENG SUB《陈情令 The Untamed》EP01——主演:肖战、王一博、孟子义 [BfKhREVFLkQ].f251.webm
[download] 100% of 37.87MiB in 00:08 at 4.71MiB/s
[Merger] Merging formats into "ENG SUB《陈情令 The Untamed》EP01——主演:肖战、王一博、孟子义 [BfKhREVFLkQ].webm"
Deleting original file ENG SUB《陈情令 The Untamed》EP01——主演:肖战、王一博、孟子义 [BfKhREVFLkQ].f248.webm (pass -k to keep)
Deleting original file ENG SUB《陈情令 The Untamed》EP01——主演:肖战、王一博、孟子义 [BfKhREVFLkQ].f251.webm (pass -k to keep)

下载完成后ffmpeg合并视频和音轨,输出至你的cmd的当前路径。