在数字内容下载工具的发展历程中,youtube-dl 与 yt-dlp 同 YouTube 之间的技术博弈堪称一场精彩的“猫鼠游戏”。这场持续多年的攻防战不仅体现了开源社区的韧性,也揭示了互联网平台对内容保护机制的不断升级。

起源:youtube-dl 的辉煌时代

youtube-dl 作为开源视频下载工具的鼻祖,自2006年诞生以来便成为广大用户下载网络视频的首选工具。它基于 Python 开发,支持众多视频网站,通过解析页面内容获取视频直链,实现了便捷的下载功能。在相当长的时间内,youtube-dl 凭借其稳定性和广泛兼容性赢得了全球用户的青睐。

技术升级:yt-dlp 的崛起

2020年10月美国唱片业协会(RIAA)以违反《数字千年版权法案》(DMCA)为由,Github上被迫合规下架。由于较大争议,11月再次恢复。随着 YouTube 不断升级其防护机制,原版 youtube-dl 的更新速度逐渐无法跟上平台的变化。2021年,yt-dlp 作为 youtube-dl 的活跃分支应运而生。这个新项目不仅继承了原有功能,还增加了对更多网站的支持、更高效的下载速度以及更频繁的更新维护。yt-dlp 迅速成为开源社区的新宠,其开发者团队通过不断逆向工程破解 YouTube 的API接口,维持着工具的可用性。

攻防升级:PO Token 机制的引入

近年来,YouTube 引入了名为“PO Token”(Proof of Origin Token)的新型验证机制,这标志着攻防战进入了新阶段。这种令牌系统要求客户端在请求视频数据时提供身份验证凭证,旨在确保请求来自合法的客户端应用而非自动化工具。

根据 yt-dlp 官方文档,PO Token 分为三种类型:用于视频流请求的 GVS Token、用于播放器请求的 Player Token 以及用于字幕请求的 Subs Token。不同类型的令牌对应不同的客户端和使用场景,且具有时效性限制,通常有效期为12小时或更长时间。

现状与挑战

目前,yt-dlp 通过多种策略应对这一挑战。工具默认会尝试使用不需要 PO Token 的客户端,但当需要访问高质量格式或特定功能时,用户必须手动提供有效的令牌。社区也开发了多种解决方案,包括浏览器插件提取令牌、使用第三方令牌提供程序等。

值得注意的是,虽然网络上存在关于 yt-dlp 需要安装 Deno 运行时的讨论,但根据官方文档和最新版本验证,yt-dlp 本身仍然基于 Python 生态,并不强制要求 Deno。某些第三方插件可能利用 Deno 来生成令牌。

这场技术博弈仍在继续。YouTube 持续调整其API接口和验证机制,而 yt-dlp 开发团队则通过频繁更新来维持工具的可用性。对于普通用户而言,使用 yt-dlp 下载视频可能会变得越来越复杂,可能需要学习如何提取和使用 PO Token,或者依赖社区开发的自动化解决方案。

GitHub 恢复 YouTube-DL 项目

 

yt-dlp 官方PO指导:https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide