1

我打算创建视频下载器插件。所以基本上我们需要签名才能从 youtube 下载视频文件。我参考了其他工作插件..他们将签名转换为某种格式。

youtube页面源中的原始签名基本上是

BBB4D55F9CF4387F77958A6960CA96708C73AB59B.037D413F53291E957891898307BBF1C41B6037D77D7

插件将上面的签名转换为下面的签名。

BB4D55F9CF4787F77958A6960CA96708C73AB59B.037D413F53291E957891898307BBF1C41B6037D3

我想知道这些是某种哈希吗?有没有人遇到过类似的哈希?

4

3 回答 3

3

密码签名密码的秘密:

Youtube 中的加密签名只是“加扰”签名,您必须根据播放器文件(HTML5 播放器或 Flash 播放器)中存在的算法重新排列它们。

例如http://www.youtube.com/watch?v=UxxajLWwzqY,目前正在使用以下 HTML5 播放器文件://s.ytimg.com/yts/jsbin/html5player-vfltdb6U3.js

在此文件中,您可以通过搜索“sig”轻松搜索签名解密代码。在这种情况下,算法是:

function bz(a) {
    a = a.split("");
    a = cz(a, 61);
    a = cz(a, 5);
    a = a.reverse();
    a = a.slice(2);
    a = cz(a, 69);
    a = a.slice(2);
    a = a.reverse();
    return a.join("")
}

function cz(a, b) {
    var c = a[0];
    a[0] = a[b % a.length];
    a[b] = c;
    return a
};

上面是解密代码。

但请注意,当他们更改播放器文件时,它会不断变化,因此您必须点击正在使用的播放器文件。

此外,要下载带有密码签名的视频,您必须注意发送相同的 cookie,使用相同的用户代理标头,从相同的 IP 地址发送请求,并在提取后立即发送请求。所有这些都是或在某些时候需要

有关更多信息,请查看此 API:密码 API

另一个很酷的 API:YTstream API

于 2014-02-10T17:44:28.360 回答
1

你可以在 github 上关注youtube-dl python 应用程序:它是迄今为止我发现的最好的下载视频的小型命令行程序,背后有一个很棒的团队。更具体地说,您可以访问youtube-script,以获取最新的工作解密算法。

玩得开心 :)

于 2014-01-13T08:32:27.607 回答
0

现在,您可以通过youtube-dl轻松创建自己的 youtube 下载器。它还支持超过 youtube。我还制作了一个关于如何做到这一点的教程。您可以在此处阅读更多相关信息

于 2017-01-15T12:54:11.820 回答