Featured image of post yt-dlp 下载工具常用命令

yt-dlp 下载工具常用命令

仓库地址:https://github.com/yt-dlp/yt-dlp

yt-dlp 安装

1
pip install yt-dlp

使用Homebrew的macOS或Linux用户也可以通过以下方式安装:

1
brew install yt-dlp/taps/yt-dlp

更新yt-dlp

如果您正在使用提供的版本,您可以使用yt-dlp -U进行更新

视频下载

查看视频链接格式构成

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

效果1

 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
yt-dlp -F --proxy socks5://127.0.0.1:8080  https://www.youtube.com/watch?v=rrQJvPaPbFM
[youtube] rrQJvPaPbFM: Downloading webpage
[youtube] rrQJvPaPbFM: Downloading android player API JSON
[info] Available formats for rrQJvPaPbFM:
ID  EXT  RESOLUTION FPS |  FILESIZE   TBR PROTO | VCODEC        VBR ACODEC     ABR  ASR    MORE INFO
--- ---- ---------- --- - --------- ----- ----- - ----------- ----- --------- ---- ------- -----------------
139 m4a  audio only     |  1.25MiB    48k https |                   mp4a.40.5  48k 22050Hz low, m4a_dash
249 webm audio only     |  1.32MiB    51k https |                   opus       51k 48000Hz low, webm_dash
250 webm audio only     |  1.76MiB    68k https |                   opus       68k 48000Hz low, webm_dash
140 m4a  audio only     |  3.32MiB   129k https |                   mp4a.40.2 129k 44100Hz medium, m4a_dash
251 webm audio only     |  3.53MiB   137k https |                   opus      137k 48000Hz medium, webm_dash
17  3gp  176x144    6   |  1.98MiB    77k https | mp4v.20.3     77k mp4a.40.2   0k 22050Hz 144p
160 mp4  256x144    25  |  2.34MiB    91k https | avc1.4d400c   91k                        144p, mp4_dash
278 webm 256x144    25  |  2.33MiB    90k https | vp9           90k                        144p, webm_dash
133 mp4  426x240    25  |  5.24MiB   204k https | avc1.4d4015  204k                        240p, mp4_dash
242 webm 426x240    25  |  4.03MiB   157k https | vp9          157k                        240p, webm_dash
134 mp4  640x360    25  |  10.53MiB  410k https | avc1.4d401e  410k                        360p, mp4_dash
18  mp4  640x360    25  |  12.97MiB  505k https | avc1.42001E  505k mp4a.40.2   0k 44100Hz 360p
243 webm 640x360    25  |  6.97MiB   271k https | vp9          271k                        360p, webm_dash
135 mp4  854x480    25  |  20.45MiB  797k https | avc1.4d401e  797k                        480p, mp4_dash
244 webm 854x480    25  |  12.25MiB  477k https | vp9          477k                        480p, webm_dash
136 mp4  1280x720   25  |  39.90MiB 1555k https | avc1.64001f 1555k                        720p, mp4_dash
22  mp4  1280x720   25  |           1684k https | avc1.64001F 1684k mp4a.40.2   0k 44100Hz 720p
247 webm 1280x720   25  |  24.14MiB  941k https | vp9          941k                        720p, webm_dash
137 mp4  1920x1080  25  |  85.85MiB 3347k https | avc1.640028 3347k                        1080p, mp4_dash
248 webm 1920x1080  25  |  43.23MiB 1685k https | vp9         1685k                        1080p, webm_dash

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

下载及合并

1
2
3
4
5
6
yt-dlp -f [下载ID] [代理配置] [视频链接] [合并语句] [外部下载器选择] [下载器参数]
-f [id] #选择下载内容,注意和 -F 区分。例子中使用137+140,如果你只下载720p则填写22就好,后面的合并语句可不填写。
--proxy #代理配置 见前文
--merge-output-format [合并输出格式] #例子中选择mp4作为输出格式
--external-downloader [下载器名称] #下载器选择 例子中选择aria2c
--downloader-args [下载器名称]:"[下载器配置]" #下载器配置语句 例子中 x 16 代表16线程下载 -k 1M 代表块大小为1M 但youtube不支持分块故此句可忽略

效果2

 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
36
37
38
39
>yt-dlp -F https://www.youtube.com/watch?v=8ytOKvjvAF8
[youtube] 8ytOKvjvAF8: Downloading webpage
[youtube] 8ytOKvjvAF8: Downloading android player API JSON
[info] Available formats for 8ytOKvjvAF8:
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
599 m4a   audio only      2 │   28.25MiB   31k https │ audio only          mp4a.40.5   31k 22k ultralow, m4a_dash
600 webm  audio only      2 │   31.63MiB   34k https │ audio only          opus        34k 48k ultralow, webm_dash
139 m4a   audio only      2 │   44.76MiB   49k https │ audio only          mp4a.40.5   49k 22k low, m4a_dash
249 webm  audio only      2 │   46.14MiB   50k https │ audio only          opus        50k 48k low, webm_dash
250 webm  audio only      2 │   60.36MiB   66k https │ audio only          opus        66k 48k low, webm_dash
140 m4a   audio only      2 │  118.81MiB  129k https │ audio only          mp4a.40.2  129k 44k medium, m4a_dash
251 webm  audio only      2 │  118.02MiB  129k https │ audio only          opus       129k 48k medium, webm_dash
17  3gp   176x144      6  1 │   74.25MiB   81k https │ mp4v.20.3       81k mp4a.40.2    0k 22k 144p
597 mp4   256x144     13    │   30.21MiB   33k https │ avc1.4d400b     33k video only          144p, mp4_dash
598 webm  256x144     13    │   23.84MiB   26k https │ vp9             26k video only          144p, webm_dash
394 mp4   256x144     25    │   61.31MiB   67k https │ av01.0.00M.08   67k video only          144p, mp4_dash
160 mp4   256x144     25    │   66.86MiB   73k https │ avc1.4d400c     73k video only          144p, mp4_dash
278 webm  256x144     25    │   80.90MiB   88k https │ vp9             88k video only          144p, webm_dash
395 mp4   426x240     25    │  117.41MiB  128k https │ av01.0.00M.08  128k video only          240p, mp4_dash
133 mp4   426x240     25    │  112.14MiB  122k https │ avc1.4d4015    122k video only          240p, mp4_dash
242 webm  426x240     25    │  141.47MiB  154k https │ vp9            154k video only          240p, webm_dash
396 mp4   640x360     25    │  220.78MiB  241k https │ av01.0.01M.08  241k video only          360p, mp4_dash
134 mp4   640x360     25    │  193.66MiB  211k https │ avc1.4d401e    211k video only          360p, mp4_dash
18  mp4   640x360     25  2 │ ~319.64MiB  340k https │ avc1.42001E    340k mp4a.40.2    0k 44k 360p
243 webm  640x360     25    │  237.08MiB  258k https │ vp9            258k video only          360p, webm_dash
397 mp4   854x480     25    │  367.34MiB  400k https │ av01.0.04M.08  400k video only          480p, mp4_dash
135 mp4   854x480     25    │  285.51MiB  311k https │ avc1.4d401e    311k video only          480p, mp4_dash
244 webm  854x480     25    │  336.96MiB  367k https │ vp9            367k video only          480p, webm_dash
22  mp4   1280x720    25  2 │ ~633.61MiB  674k https │ avc1.64001F    674k mp4a.40.2    0k 44k 720p
398 mp4   1280x720    25    │  672.59MiB  733k https │ av01.0.05M.08  733k video only          720p, mp4_dash
136 mp4   1280x720    25    │  500.27MiB  545k https │ avc1.4d401f    545k video only          720p, mp4_dash
247 webm  1280x720    25    │  508.83MiB  555k https │ vp9            555k video only          720p, webm_dash
399 mp4   1920x1080   25    │    1.10GiB 1224k https │ av01.0.08M.08 1224k video only          1080p, mp4_dash
137 mp4   1920x1080   25    │    1.56GiB 1746k https │ avc1.640028   1746k video only          1080p, mp4_dash
248 webm  1920x1080   25    │    1.28GiB 1425k https │ vp9           1425k video only          1080p, webm_dash

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

下载最佳视频与音频,并合并为mp4。 简洁命令格式:

1
yt-dlp -f 137+140 https://www.youtube.com/watch?v=xxxxx --merge-output-format mp4

yt-dlp -f "251+299/22/best" --continue -o /root/yt-dlp/video https://油管/watch?v=WSXbd-PqCPk

命令解释:

yt-dlp -f 是选择视频格式,"251+299/22/best",251+299,指的是webm音频格式和1920x1080视频格式,/22是指视频格式,/best是该播放页面下最佳画质的视频。

--continue 是断点下载

-o /root/yt-dlp/video 是选择下载路径,后面的video是文件名,不带后缀。

如果加上--recode-video mp4,意思是将视频电子编码成mp4格式,如果重新编码是必要的。
的语法和支持的格式与–remux-video相同!

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计