开源地址

yt-dlp

开始配置

  1. 在Github下载编译好的FFmpeg,并配置好环境变量
  2. 下载yt-dlp的Windows版本的releases,并放在FFmpeg的同级目录下。(通常是bin
  3. 安装Chrome扩展程序Get-cookies.txt-LOCALLY,选择性导出你所要下载视频的网站cookies,以供yt-dlp下载高清视频

基础使用

查找指定url的所有视频/音频源

1
yt-dlp --cookies cookies/file/path -F url	

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
C:\Users\Administrator>yt-dlp --cookies www.nicovideo.jp_cookies.txt -F https://www.nicovideo.jp/watch/sm44335943
[niconico] Extracting URL: https://www.nicovideo.jp/watch/sm44335943
[niconico] sm44335943: Downloading webpage
[niconico] sm44335943: Downloading JSON metadata
[niconico] sm44335943: Downloading m3u8 information
[info] Available formats for sm44335943:
ID EXT RESOLUTION FPSFILESIZE TBR PROTOVCODEC VBR ACODEC ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
audio-aac-64kbps mp4 audio only │ ~ 48.65MiB 69k m3u8audio only aac 69k 48k Main Audio
audio-aac-192kbps mp4 audio only │ ~137.33MiB 194k m3u8audio only aac 194k 48k Main Audio
video-143 mp4 256x144 30 │ ~101.55MiB 143k m3u8avc1.4d401e 143k video only
video-566 mp4 640x360 30 │ ~400.72MiB 566k m3u8avc1.4d401e 566k video only
video-1516 mp4 854x480 30 │ ~ 1.05GiB 1516k m3u8avc1.4d4020 1516k video only
video-1784 mp4 1280x720 30 │ ~ 1.23GiB 1784k m3u8avc1.4d4020 1784k video only

下载指定视频+音频

1
2
yt-dlp --cookies cookies/file/path url -f videoID+audioID
yt-dlp --cookies www.nicovideo.jp_cookies.txt https://www.nicovideo.jp/watch/sm44335943 -f audio-aac-192kbps+video-1784

不查找,直接下载最高品质视频+音频

1
2
yt-dlp --cookies cookies/file/path url -f bestvideo+bestaudio
yt-dlp --cookies www.nicovideo.jp_cookies.txt https://www.nicovideo.jp/watch/sm44335943 -f bestvideo+bestaudio

其他

下载最高品质报错

那就先查找,看返回就知道啥情况了

1
2
3
4
5
ID EXT RESOLUTION │ PROTO │ VCODEC  ACODEC
───────────────────────────────────────────
0 mp4 unknown │ https │ unknown unknown
1 mp4 unknown │ https │ unknown unknown
2 mp4 unknown │ https │ unknown unknown

这种就要手动指定序号下载,一般最下面的就是最高品质的。

报错文件路径不合法

一般情况下,yt-dlp会帮你自动把禁止出现在Windows文件名中的非法半角字符转换为全角字符,并不会出现文件名不合法的情况。经验证,此类报错大部分情况为文件名长度超出Windows允许长度导致的。对于此类情况,手动指定较短文件名即可。

被人机验证卡了

加参数--extractor-args "generic:impersonate"

提高重试次数

1
-R, --retries RETRIES 

使用conf文件简化命令输入

yt-dlp同级目录下新建yt-dlp.conf,存入cookiespaths等参数。

1
2
--cookies cookies/file/path
--paths "path/to/save"

调用外部下载器

1
--external-downloader aria2c

同类工具推荐

YoutubeDownloader