目录
yt-dlp诞生于-dl项目维护放缓的背景下,由社区开发者接手并注入了新的活力。它不是简单的复制品,而是在原有基础上进行了大量改进,整合了已停止维护的-dlc的诸多优化,从而在下载效率、格式筛选和网站适配速度上都达到了新的高度。
这个工具最显著的特点在于“精准控制”。用户可以通过丰富的命令行选项决定下载什么样的格式、分辨率多高、是否附带字幕、要不要嵌入缩略图、文件保存到哪里。它的输出模板功能允许用户自定义目录结构和文件命名规则,对于需要整理大量媒体文件的用户来说非常实用。
在技术实现上,yt-dlp采用Python开发,但提供了独立可执行文件版本,用户即使没有Python环境也能直接使用。它支持多线程分片下载,对于DASH和HLS格式的视频流,可以显著提升。代理设置、认证登录、地理限制绕过等高级功能也一应俱全,使能够应对各种复杂的网络环境和网站限制。
官网入口地址
https://github.com/yt-dlp/yt-dlp
下载地址
https://github.com/yt-dlp/yt-dlp/releases
功能介绍
yt-dlp的功能覆盖面非常广,从基础下载到高级后处理都有涉及。
在格式选择方面,用户可以指定精确的格式代码,也可以让工具自动挑选视频和音频流进行合并。支持MP4、MKV、WebM等多种容器格式,音频可提取为MP3、M4A、FLAC、Opus、W等格式。
字幕处理能力同样出色。用户可以下载手动上传的字幕或自动生成的字幕,支持SRT、ASS等常见格式,还能将字幕直接嵌入视频文件中。语言筛选支持正则表达式,方便批量处理多语言字幕场景。
播放列表和频道下载是yt-dlp的强项。除了下载完整播放列表外,还能按索引范围、日期区间、观看量等条件筛选视频,甚至可以下载YouTube的“稍后观看”“点赞视频”“订阅动态”等特殊列表。
下载归档功能可以记录已下载的视频ID,避免重复下载,对于长期维护媒体库的用户来说非常实用。
后处理方面,yt-dlp可以调用ffmpeg进行音视频合并、格式转换、元数据嵌入等操作。SponsorBlock集成可以自动跳过视频中的赞助片段。
网络选项包括代理设置、限速、重试策略、并发分片数调整等,适应不同的网络条件。
应用场景
个人用户可以用它备份喜欢的视频内容,避免因平台下架而丢失。内容创作者可以批量下载参考素材。研究人员可以采集公开的视频数据用于分析。播客听众可以下载音频内容离线收听。字幕组可以获取原始字幕文件进行翻译制作。
使用方法
安装完成后,基本使用非常简单。在命令行中输入yt-dlp加上视频链接即可开始下载。下载一个YouTube视频:yt-dlp"https://www..com/watchv=xxxxx"。
下载整个播放列表:yt-dlp"https://www..com/playlistlist=xxxxx"。
仅下载音频并转换为MP3:yt-dlp-x--audio-formatmp3"链接"。
下载1080p视频:yt-dlp-f"bestvideo[height<=1080]+bestaudio/best[height<=1080]""链接"。
使用下载归档避免重复:首次添加--download-archivearchive.txt,之后每次下载都会检查记录。
服务支持
yt-dlp采用Unlicense许可,属于公有领域软件,任何人可以自由使用、修改和分发,包括商业用途。项目通过GitHub接受社区贡献,维护团队活跃,更新频率较高,每两周左右发布一个新版本。官方提供stable、nightly和master三个发布通道,用户可以根据对稳定性和新功能的需求选择。
| 源码反馈/咨询 (共有 条反馈) |
yt-dlp常见问题
yt-dlp不是一个公司开发的,它是由开源社区的志愿者共同维护的项目。最初的-dl项目由RicardoGarcia创建,而yt-dlp是社区开发者在基础上fork并持续改进的版本。目前项目托管在GitHub上,有数百位贡献者参与代码提交和问题修复。
yt-dlp是一个命令行程序,用来从网站下载视频和音频。它支持数千个网站,包括YouTube、Bilibili、、Instagram、TikTok、Udemy等。你可以把它理解成一个功能极强大的下载器,但需要通过输入命令来使用,而不是点击按钮。
最基本的用法就是在命令行里输入yt-dlp加空格加视频网址,按回车就开始下载了。比如yt-dlphttps://www..com/watchv=abc123。如果想把视频转成MP3,加上-x--audio-formatmp3。想选特定清晰度,用-f参数指定格式代码。具体参数在官方文档里有详细说明,也可以在命令行输入yt-dlp--help查看。
免费,没有任何收费项目。yt-dlp是开源软件,采用公有领域许可,不需要付费也不需要注册账号。它的开发由社区驱动,没有商业公司运营,也没有会员或高级版本。
yt-dlp本身是开源软件,代码公开可审查,安全性在开源社区监督下有一定保障。官方发布的可执行文件来自GitHub官方仓库,相对可靠。过去曾发现过与Cookie处理相关的安全漏洞,但都已在后续版本中修复。建议从官方渠道下载,保持版本更新,避免使用来源不明的修改版。
善用下载归档功能可以避免重复下载,特别是维护大型媒体库时。配置文件可以让你把常用参数写进文件,不用每次都输入一长串命令。输出模板能自动整理文件结构,比如按上传者或日期分文件夹。对于播放列表,可以用-I参数只下载你需要的部分,而不是全部。
yt-dlp的界面和输出信息目前以英文为主,但它下载的视频内容本身支持的语言取决于源网站。字幕下载功能支持按语言代码筛选,可以用--sub-langs指定需要的语言,比如“zh-Hans,en”表示简体中文和英文。
对于习惯命令行操作的用户来说不算复杂,基本下载只需要一个命令。但如果不熟悉命令行,需要一点时间适应。社区有提供图形界面版本,比如yt-dlp-gui-cn,为不习惯命令行的用户提供了更友好的操作方式。
支持列表非常长,涵盖了主流视频平台和许多小众网站。YouTube、Bilibili、、Instagram、TikTok、Facebook、Vimeo、Dailymotion、Twitch、SoundCloud、Bandcamp、Archive.org等都在支持范围内。完整的支持列表可以在官方文档中查看,输入yt-dlp--list-extractors也能列出所有支持的网站。
默认情况下,yt-dlp会分别下载视频流和音频流然后合并,所以是有声音的。如果只指定了视频格式而没有同时选择音频格式,会出现无声的情况。建议使用默认设置或明确指定包含音频的格式组合,比如“bestvideo+bestaudio”。
yt-dlp是-dl的fork版本,继承了后者的核心功能,同时增加了大量新特性和修复。主要区别包括:更新更频繁、对新网站和变化的适配更快、增加了SponsorBlock集成、格式排序更智能、支持从浏览器获取Cookie、多线程分片下载等。
不一定。官方提供了独立可执行文件,Windows、macOS和Linux用户都可以直接下载运行,不需要预先安装Python。但如果你选择通过pip安装,就需要Python环境。独立版使用起来更方便,适合不想折腾环境配置的用户。
可以尝试增加并发分片数,使用-N参数,比如-N8。对于支持多线程的格式,这能显著提升速度。另外可以尝试更换下载器,比如用aria2c替代原生下载器。网络条件允许的情况下,使用代理也改善速度。
对于需要登录才能观看的内容,yt-dlp支持通过Cookie或账号密码进行认证。可以使用--cookies-from-browser从浏览器读取登录状态,或者用--username和--password直接提供凭据。但请注意,下载会员内容违反网站的服务条款,用户需要自行承担相关责任。
yt-dlp本身是一个命令行工具,没有官方的手机应用。不过在Android上,可以通过Termux等终端模拟器运行。也有一些第三方应用集成了yt-dlp的功能,比如Seal等,提供了更适配手机操作的界面。
默认情况下,字幕会作为独立文件保存在视频旁边。如果你希望字幕内嵌到视频中,可以使用--embed-subs参数。外挂字幕的好处是灵活,可以随时开关或更换;内嵌字幕的好处是播放时不用额外管理文件。