支持4K甚至8K分别率下载Youtube视频的工具及方法
yt-dlp主项目地址:https://github.com/yt-dlp/yt-dlp
目前支持的网站列表:https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md
1、简单用法(一个参数URL) yt-dlp.exe 视频URL
yt-dlp.exe https://www.youtube.com/watch?v=1QZOdURNBcE
URL可以是完整路径,也可以是后面的1QZOdURNBcE这里注意复制网址的时候,尽量不要复制后面的t=多少秒 这些信息。因为这些信息没有用。 我们用上述命令下载的文件就在yt-dlp所在的目录,格式有可能是webm格式
2、下载MP4 视频 (参数URL和format)
如果我们必须下载MP4 格式,我们有两种方法
A、借助ffmpeg工具包转换为Mp4 ffmpeg工具包。
举例:
yt-dlp.exe --merge-output-format mp4 https://www.youtube.com/watch?v=1QZOdURNBcE
下载之后是一个Mp4的文件,中间有一个转换的过程,从webm——>mp4只是过程太快就是无感的。如果这样的参数下载下来可能清晰度是720P而不是更高清晰度。如果想要更高清的下载,就需要借助使用配置文件yt-dlp.conf
B、借助后面音视频组合的下载方式 ,在下文中体现
3、使用配置文件配置下载参数
我们在yt-dlp.exe 所在的目录,新建一个文本文件 命名必须是yt-dlp.conf , 文本文件的编辑方式可以是记事本 也可以是任何文本工具。接写来我们开始定义,注意yt-dlp.conf这个配置文件中,不能输入中文,包括中文注释。他目前是不兼容的,如果输入中文,那么下载可能报错,这里顺便说一句,yt-dlp.exe最好放入到一个没有中文路径的目录下。避免出现一些不必要的bug。 打开yt-dlp.conf 文本后,输入以下基础参数
下载文件保存的路径和名称
--output "~/Downloads/%(uploader)s/%(title)s-%(resolution)s.%(ext)s"
解释:~/Downloads/ 你电脑的下载路径,通常在C盘,这部分你可以随意替换为你想保存的目录 uploader:频道名称或者up主名称 title:视频标题 resolution:视频分辨率 ext 这个可以暂时理解为视频扩展名 是必须要写的哈。
进度条标题栏显示 这部分用处不大可以不写
--console-title --progress-template "download-title:%(info.id)s-%(progress.eta)s"
将下载的视频 转换为MP4格式,很重要。
--merge-output-format mp4
下载的多国语言字幕,以下代表下载全部字幕
--sub-langs all,-live_chat
##你可以可以只下载中文字幕和英文字幕,前提是这个视频的确有中文和英文字幕,注意不是翻译的。 你可以执行 --list-subs 参数查询这个视频支持的字幕
举例:yt-dlp.exe --list-subs https://www.youtube.com/watch?v=220nXk_mJiE
这样第一列就是语言tag 比如我们如果只想下载视频的中文和英文字幕 则可以在配置文件中这样写
只下载英文和中文字幕
--sub-langs "en.*,zh-Hans"
将字幕、缩图、视频描述等信息内嵌到视频文件
--embed-subs
--embed-thumbnail
--embed-metadata
--convert-subs srt
写好以上几个基础的参数,对于windows平台来说 就OK了。 如果你用的是mac电脑,还需要加一行代码
ffmpeg tools for macOS
--ffmpeg-location /Users/wukong/Desktop/macOS/ffmpeg
要指定ffmpeg的路径,你的ffmpeg放在哪里了 这边就要写哪里,不可以照抄。
好,这样yt-dlp.conf 配置文件就算写好,这样每次执行下载的时候,它都会选择最高清晰度下载。
4、如何下载指定分辨率的视频?
首先,查询这个视频支持下载的分辨率 格式,这里包含了一个重要的信息,那就是文件ID 这里的文件ID 可以是音频文件的ID,也可以是视频文件的ID 利用 yt-dlp.exe -F 来查询,举例
yt-dlp.exe -F https://www.youtube.com/watch?v=1QZOdURNBcE
如果想下载1920x1080分辨率的视频,我们需要记录一下音频和视频id 比如我们可以把140作为视频的音轨,把137作为视频的图像,这样最终会合成一个有图像有声音的视频
如何书写命令,举例:
yt-dlp.exe https://www.youtube.com/watch?v=1QZOdURNBcE -f137+140
大家务必注意结尾处的写法。f137前面是有一个减号的。当然你还可以自由的组合音视频。 这样我们就把指定分辨率的视频下载出来了。
5、下载播放列表的所有视频
其实这个功能,api直接就支持,注意播放列表形如:
https://www.youtube.com/watch?v=f8yA1jGhpfk&list=PL8mPWv3h4qJeg6iH5yt92jB5jT6kfLg2r
如何找播放列表 不用我多介绍了吧,去up主的主页,点击播放列表,出来的就都是播放列表了。
那么命令为:
yt-dlp.exe https://www.youtube.com/watch?v=f8yA1jGhpfk&list=PL8mPWv3h4qJeg6iH5yt92jB5jT6kfLg2r
6、如何升级yt-dlp的版本?
确认yt-dlp.exe 所在目录为非中文,注意包括父级目录 都不能有中文。
此时执行 yt-dlp.exe -U
即可完成版本升级,更新到最新的Release版本。
下载链接: https://pan.baidu.com/s/1W-Fq9YtdZpGCdCkxyDAkMw
提取码: wi8j