ty-dlp视频下载工具使用
官方链接https://github.com/yt-dlp/yt-dlp
功能以及用法 https://github.com/yt-dlp/yt-dlp/blob/master/README.md
windows下 下载ty-dlp.exe文件
chrome上下载插件 Get cookies.txt LOCALLY 用于获取cookies.txt

通用选项(General Options)
• -h, --help
显示帮助信息并退出
• --version
显示版本号并退出
• -U, --update
将本程序升级到最新版本
• --no-update
不检查更新(默认)
• -i, --ignore-errors
忽略下载和后处理错误,下载即使出错也会继续
• --abort-on-error
下载出错时终止后续任务(和 --ignore-errors 相反)
• --list-extractors
列出支持的网站解析器
• --extractor-descriptions
显示所有支持网站的描述信息
• --flat-playlist
只获取播放列表条目,不解析每个视频元数据网络选项(Network Options)
--proxy URL
设置代理(支持HTTP/HTTPS/SOCKS)
--socket-timeout 秒数
网络超时时间
-4, --force-ipv4
强制使用IPv4
-6, --force-ipv6
强制使用IPv6视频选择(Video Selection)
-I, --playlist-items 1,3,5-7
下载指定序号的视频(支持范围)
--min-filesize 50M
只下载大于指定大小的文件
--max-filesize 200M
只下载小于指定大小的文件
--date 20240628
只下载指定日期发布的视频
--match-filters "like_count>?100"
只下载满足条件的视频
--no-playlist
如果是单个视频与列表混合链接,只下载视频本身
--yes-playlist
强制下载整个播放列表下载相关(Download Options)
-N, --concurrent-fragments 5
多线程下载分片视频
-r, --limit-rate 500K
限制下载速度
-R, --retries 10
下载失败重试次数
--skip-unavailable-fragments
跳过不可用的视频分片
--abort-on-unavailable-fragments
分片无法下载时终止下载文件系统相关(Filesystem Options)
-a, --batch-file 文件
从文件批量读取要下载的URL
-P, --paths 路径
设置下载文件的保存路径
-o, --output 模板
设置输出文件名模板
-w, --no-overwrites
不覆盖已有文件
--cookies 文件
指定cookies文件(支持chrome导出的cookies.txt)缩略图与字幕(Thumbnails & Subtitles)
--write-thumbnail
下载视频缩略图
--write-subs
下载字幕
--write-auto-subs
下载自动生成的字幕
--sub-langs "zh-CN,en"
指定要下载的字幕语言(可用all,正则)格式选择(Video Format Options)
-f, --format
指定要下载的视频格式(如 best、worst、mp4)
-F, --list-formats
列出所有可用格式
-S, --format-sort
对格式进行排序(如按清晰度、码率)
--merge-output-format mp4
合并输出为指定格式(mp4、mkv等)后处理(Post-processing)
-x, --extract-audio
只提取音频(需ffmpeg)
--audio-format mp3
指定音频导出格式
--audio-quality 0-10 或 128K
音频导出比特率或质量
--remux-video mp4
无损封装到指定格式
--embed-thumbnail
将缩略图嵌入到音频/视频文件
--embed-subs
将字幕嵌入视频认证与登录(Authentication)
-u, --username 用户名
登录用户名
-p, --password 密码
登录密码
--cookies-from-browser 浏览器名
直接读取指定浏览器的cookies其它常用参数
-q, --quiet
静默模式
-v, --verbose
显示详细调试信息
-s, --simulate
模拟操作(不实际下载)example
1. 下载单个视频到当前目录
yt-dlp https://www.youtube.com/watch?v=xxxxxxx下载默认最佳格式的视频和音频并合成为一个文件。
2. 只下载音频并转换为mp3
yt-dlp -x --audio-format mp3 https://www.youtube.com/watch?v=xxxxxxx-x 只提取音频,--audio-format mp3 转换为mp3格式(需ffmpeg)。
3. 下载指定清晰度的视频
yt-dlp -f "bestvideo[height<=720]+bestaudio/best[height<=720]" https://www.bilibili.com/video/BVxxxxxx下载不高于720p的最佳视频和音频,并自动合并。
4. 下载带有中文字幕的视频及字幕
yt-dlp --write-subs --sub-langs zh-CN https://www.youtube.com/watch?v=xxxxxxx--write-subs 下载字幕,--sub-langs zh-CN 指定中文字幕。
5. 下载自动生成的中文字幕
yt-dlp --write-auto-subs --sub-langs zh-CN https://www.youtube.com/watch?v=xxxxxxx--write-auto-subs 下载YouTube自动生成的字幕。
6. 批量下载(从文件中读取URL)
yt-dlp -a urllist.txturllist.txt 每行一个视频网址,自动批量下载。
7. 下载YouTube播放列表所有视频
yt-dlp https://www.youtube.com/playlist?list=PLxxxxxx自动下载整个播放列表的全部视频。
8. 下载B站高清视频,使用cookies
yt-dlp --cookies cookies.txt -f "bestvideo+bestaudio/best" https://www.bilibili.com/video/BVxxxxxx使用登录cookies可下载大会员视频或高码率视频。
9. 设置下载文件名模板(带标题、日期)
yt-dlp -o "%(title)s-%(upload_date)s.%(ext)s" https://www.youtube.com/watch?v=xxxxxxx文件名为“标题-上传日期.扩展名”
10. 限制下载速度为500KB/s
yt-dlp -r 500K https://www.youtube.com/watch?v=xxxxxxx11. 跳过已下载过的视频(避免重复)
yt-dlp --download-archive archive.txt https://www.youtube.com/playlist?list=PLxxxxxxarchive.txt 用于记录已下载过的视频ID。
12. 只下载某个播放列表中的第2、5、8个视频
yt-dlp --playlist-items 2,5,8 https://www.youtube.com/playlist?list=PLxxxxxx13. 带进度条显示下载进度
yt-dlp --progress https://www.youtube.com/watch?v=xxxxxxx14. 模拟下载(不实际下载,只显示信息)
yt-dlp -s https://www.youtube.com/watch?v=xxxxxxx15. 指定代理进行下载
yt-dlp --proxy socks5://127.0.0.1:1080 https://www.youtube.com/watch?v=xxxxxxx16. 只下载视频的弹幕(B站)
yt-dlp --write-comments --skip-download https://www.bilibili.com/video/BVxxxxxx17. 只下载缩略图,不下载视频本体
yt-dlp --write-thumbnail --skip-download https://www.youtube.com/watch?v=xxxxxxx18. 下载后自动关机
yt-dlp https://www.youtube.com/watch?v=xxxxxxx && shutdown -s -t 0(Windows环境,Linux用 poweroff)
19. 按上传日期下载最近7天发布的视频
yt-dlp --dateafter now-7days https://www.youtube.com/channel/UCxxxxxx20. 下载后执行自定义命令(如播放/转存)
yt-dlp --exec "vlc {}" https://www.youtube.com/watch?v=xxxxxxx{} 会被替换为下载文件名。