yt-dlp 是 youtube-dl 的一个分支,主要基于现在维护不太活跃的 youtube-dlc。该项目的主要重点是添加新功能和补丁,同时与原始项目保持同步。
GitHub 链接:https://github.com/yt-dlp/yt-dlp
其实就 YouTube 视频下载工具来说,youtube-dl 原来是挺方便的,但是现在被限速到只有 60KB/s,而 yt-dlp 算是完美解决了这个问题。
安装
类 UNIX 系统 (MacOS, Linux, BSD)
代码语言:javascript复制sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a rx /usr/local/bin/yt-dlp
代码语言:javascript复制sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
sudo chmod a rx /usr/local/bin/yt-dlp
代码语言:javascript复制sudo aria2c https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp --dir /usr/local/bin -o yt-dlp
sudo chmod a rx /usr/local/bin/yt-dlp
用 PIP 安装
代码语言:javascript复制python3 -m pip install -U yt-dlp
用 Homebrew 安装
代码语言:javascript复制brew install yt-dlp/taps/yt-dlp
直接下载可执行文件
https://github.com/yt-dlp/yt-dlp#release-files
升级
代码语言:javascript复制yt-dlp -U
如果之前是用 pip
安装的,也可以直接用相同的命令进行更新;若是用 Homebrew 安装也可用以下命令:
brew upgrade yt-dlp/taps/yt-dlp
使用方法
下载单个视频或音频
下载分辨率 ≥ 720p 的最佳格式(视频 音频),并另存为 视频id.扩展名
(将下面代码中的 %(id)s
改为 %(title)s
可另存为 视频名.扩展名
):
yt-dlp -f "best[height>=720]" https://www.youtube.com/watch?v=1La4QzGeaaQ -o '%(id)s.%(ext)s'
下载并合并最佳视频流与最佳音频流:
代码语言:javascript复制yt-dlp -f 'bv* ba' https://www.youtube.com/watch?v=1La4QzGeaaQ -o '%(id)s.%(ext)s'
下载 1080p 视频并与最佳音频流合并:
代码语言:javascript复制yt-dlp -f 'bv*[height=1080] ba' https://www.youtube.com/watch?v=1La4QzGeaaQ -o '%(id)s.%(ext)s'
下载 mp4 格式的 1080p 视频并与最佳的 m4a 格式音频合并:
代码语言:javascript复制yt-dlp -f 'bv[height=1080][ext=mp4] ba[ext=m4a]' --merge-output-format mp4 https://www.youtube.com/watch?v=1La4QzGeaaQ -o '%(id)s.mp4'
使用 --embed-thumbnail
将视频缩略图嵌入到视频文件中:
yt-dlp -f 'bv[height=1080][ext=mp4] ba[ext=m4a]' --embed-thumbnail --merge-output-format mp4 https://www.youtube.com/watch?v=1La4QzGeaaQ -o '%(id)s.mp4'
使用 --embed-subs
将字幕嵌入视频文件(如果存在):
yt-dlp -f 'bv[height=1080][ext=mp4] ba[ext=m4a]' --embed-subs --merge-output-format mp4 https://www.youtube.com/watch?v=1La4QzGeaaQ -o '%(id)s.mp4'
使用 --embed-metadata
嵌入有关视频的元数据:
yt-dlp -f 'bv[height=1080][ext=mp4] ba[ext=m4a]' --embed-metadata --merge-output-format mp4 https://www.youtube.com/watch?v=1La4QzGeaaQ -o '%(id)s.mp4'
下载 mp3 格式的最佳质量的音频:
代码语言:javascript复制yt-dlp -f 'ba' -x --audio-format mp3 https://www.youtube.com/watch?v=1La4QzGeaaQ -o '%(id)s.mp3'
Playlists
下载整个 YouTube 播放列表的 1080p 视频,保存到 channel_id/playlist_id
目录:
yt-dlp -f 'bv*[height=1080] ba' --download-archive videos.txt https://www.youtube.com/playlist?list=PLlVlyGVtvuVnUjA4d6gHKCSrLAAm2n1e6 -o '%(channel_id)s/%(playlist_id)s/%(id)s.%(ext)s'
Channels
将整个 YouTube 频道下载为包含最高质量音频的 720p 视频。保存到以频道名称命名的文件夹中,并以视频的标题命名每个视频:
代码语言:javascript复制yt-dlp -f 'bv*[height=720] ba' --download-archive videos.txt https://www.youtube.com/c/FootheFlowerhorn/videos -o '%(channel)s/%(title)s.%(ext)s'