是的,这是可能的(也许不合法),但我想解释一下技术部分(请注意,我不会从YouTube下载视频,因为它总是存在于云上!)。
YouTube通过bytearrays传输流,如果你检查一个清晰的url,它不存在。但是:如果你查看开发工具并跟踪网络,你可以找到这个url。
看一下这张图片:![enter image description here](https://istack.dev59.com/lTl2P.webp)
YouTube将流以单独的通道传输,并在运行时将其全部组合起来,使用XMLHttpRequest分别获取视频和音频。
所有以videoplayback?
开头的调用都与视频/音频流有关。 videoplayback?
Ajax调用总是成对出现:以某种顺序的content-type= audio/*
和content-type= video/*
。
你可以从标头中区分它们(在图像中看起来像content-type= video/*
或content-type= audio/*
)
要获取完整的音频/视频流,唯一需要做的就是更改RANGE
参数。
参数RANGE
指定要流式传输的内容段(通常不是整个媒体,因为那样就不会流式传输,并避免来自技术人员的下载)
复制以 videoplayback?
开头的 URL (如图所示)。
在查询字符串末尾找到参数 range=
。参数 range=
由 START 和 END 组成(例如,range=18096-20098),用“-”分隔。
将 START 设为 0,将 END 设为一个较大的数字,如 9999999999(例如,range=0-999999999999
)。(编辑注:我猜这些是视频的“秒”时间戳)
修改 URL 后,在新标签页中粘贴并打开它,您就可以轻松下载音频或视频了。
获取两个流,并在一些音频/视频编辑软件中将它们合并在一起(例如 NUENDO)。
重要提示:不要更改其他参数,因为这是一个自验证 URL。