使用yt-dlp下载视频
1. yt-dlp 的安装
yt-dlp
是 youtube-dl
的一个更活跃的分支,支持更多网站和功能。你可以通过多种方式安装 yt-dlp
。
使用 pip 安装
pip install yt-dlp |
使用 Homebrew 安装(macOS 和 Linux)
brew install yt-dlp |
从源代码安装
- 从 yt-dlp GitHub 仓库 下载最新的源码。
- 运行以下命令:
python setup.py install |
2. yt-dlp 下载 YouTube 视频的命令
基本下载命令
yt-dlp -f 'bestvideo+bestaudio' "https://www.youtube.com/watch?v=VIDEO_ID" -o '%(title)s.%(ext)s' |
-f 'bestvideo+bestaudio'
:选择最佳视频和最佳音频格式。"https://www.youtube.com/watch?v=VIDEO_ID"
:目标视频的 URL。-o '%(title)s.%(ext)s'
:输出文件的命名格式,%(title)s
表示视频标题,%(ext)s
表示视频格式。
视频输出为mp4
yt-dlp -f 'bestvideo+bestaudio' "https://www.youtube.com/watch?v=Oa0ZHfcalCM&ab_channel=BBCWorldService" -o '%(title)s.%(ext)s' --merge-output-format mp4 |
-f 'bestvideo+bestaudio'
:选择最佳视频和音频流进行下载。-o '%(title)s.%(ext)s'
:指定输出文件名格式。--merge-output-format mp4
:指定合并后的输出格式为 MP4。
这个命令会下载最佳的视频和音频流,然后合并成 MP4 格式。确保你有 **ffmpeg**
使用 --continue
选项
yt-dlp
默认支持断点续传,你可以使用 --continue
选项来确保从上次结束的地方继续下载。通常情况下,这个选项是默认启用的,但你可以显式指定它以确保续传功能开启。
yt-dlp --continue -f 'bv*[height=1080]+ba' "https://www.youtube.com/watch?v=vLRQUR68MSo&list=PL9nxfq1tlKKl1uTYq11gCFJ6I__wYRXsX&index=1" -o '%(title)s.%(ext)s' |
下载缩略图的命令
yt-dlp --write-thumbnail --skip-download "https://www.youtube.com/watch?v=VIDEO_ID" |
--write-thumbnail
:下载视频的缩略图。--skip-download
:仅下载缩略图而不下载视频。
如果希望同时下载视频和缩略图:
yt-dlp --write-thumbnail -f 'bestvideo+bestaudio' "https://www.youtube.com/watch?v=VIDEO_ID" -o '%(title)s.%(ext)s' |
3. 下载哔哩哔哩 (Bilibili) 视频时,如果遇到需要登录时候,需要注意的事情
需要提供登录状态的 cookies。以下是具体步骤:
方法一:使用浏览器扩展导出 Netscape 格式的 cookies
- 安装Cookie-Editor扩展(例如 edge 浏览器)。
- 打开 Bilibili 并登录。
- 使用 Cookie-Editor导出 cookies,选择“导出为文本(Netscape 格式)”,保存为
cookies.txt
文件。
方法二:使用 --cookies-from-browser
选项
直接从浏览器中读取 cookies 进行下载:
yt-dlp --cookies-from-browser chrome -f 'bv*[height=1080]+ba' "https://www.bilibili.com/video/BV1uY28YdECM" -o '%(title)s.%(ext)s' |
将 chrome
替换为你的浏览器名称,例如 firefox
或 edge
。
验证可用格式并下载
- 查看可用格式
yt-dlp --cookies cookies.txt --list-formats "https://www.bilibili.com/video/BV1ocxveJE2H/?vd_source=6278f29e0b4b9859224ba32ab49ee184" |
- 下载指定格式的视频
yt-dlp --cookies cookies.txt -f 'bv*[height=1080]+ba' "https://www.bilibili.com/video/BV1ocxveJE2H/?vd_source=6278f29e0b4b9859224ba32ab49ee184" -o '%(title)s.%(ext)s' |
其他注意事项
- 确保 cookies 文件的路径正确,并且文件格式为 Netscape 格式。
- 确保你的账号具有相应的权限,如果视频需要付费会员,请确保你的账号是会员。
- cookies 文件有可能会过期,如果下载失败,请重新导出新的 cookies 文件。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 相忘江湖的小鱼!