Pwner's Blog

能全力以赴不尽力而为

0%

youtube-dl 的使用方法

youtube 视频下载工具,目前比较好用的有 you-get youtube-dl

这两款,这里记录一下 youtube-dl 的使用方法。

环境要求

  • Python 3.0+(pip)
  • ffmpeg(用于合成视频音频分轨文件,需添加到环境变量 path 中便于在命令行中直接调用)

环境检测

使用 pip --versionffmpeg --version 命令检测 pip 和 ffmpeg 环境是否具备

代理设置

方法一

直接无脑开全局模式,这样就不用管其他的代理配置参数了

方法二

使用 PAC 模式,需要在下载命令中指定本地代理监听端口

1
2
3
--proxy "https://127.0.0.1:1080"
//或者直接这样
--proxy 127.0.0.1:1080
image-20200913140153955

下载

查看待下载视频所有类型

1
youtube-dl -F [url]

或者

1
youtube-dl --list-formats [url]

查看视频参数列表,可以在其中进行选择下载

image-20200913141042162

下载指定质量的视频和音频并自动合并

1
youtube-dl -f [format code] [url]

其中 format code 从本小节第一步中获得。
YouTube 的 1080p 及以上的分辨率都是音视频分离的,所以需要使用 137+140 分别指定音轨和视频轨。 因为已经安装号了 ffmpeg, youtube-dl 会自动合并下下好的视频和音频,然后自动删除单独的音视频文件。

从中也可以看出 youtube-dl 支持断点续传。

image-20200913141408397

下载字幕

youtube-dl –write-sub [url] // 这样会下载一个 vtt 格式的英文字幕和 mkv 格式的 1080p 视频下来

1
2
3
4
5
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 [format code] [palylist_url] // 这种方式可以下载制定清晰度的 mp4 视频

下载其他平台视频的方法也大同小异,不再赘述。

多线程下载

下载 aria2c.exe 并配置好环境变量。

1
2
3
4
5
6
youtube-dl [url] --external-downloader aria2c --external-downloader-args "-x 16 -k 1M"

–external-downloader aria2c #调用外部下载工具aria2c
–external-downloader-args #外部下载工具指定参数
-x 16 #表示进程数,aria2最高只能16进程
-k 1M #指定块的大小

使用了 socks5 代理的话在命令前面加上代理端口,使得速度达到最大化

1
youtube-dl -f [format code] --proxy 'socks5://127.0.0.1:10808' [url] --external-downloader aria2c --external-downloader-args "-x 16 -k 1M"
如果文章对你有用,可以请我喝杯咖啡~
  • 本文作者: Pwner
  • 本文链接: https://pwner.cn/posts/fa0684f3.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!