通过javascript创建Youtube下载器插件

时间:2013-11-14 17:24:57

标签: javascript youtube

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

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

BBB4D55F9CF4387F77958A6960CA96708C73AB59B.037D413F53291E957891898307BBF1C41B6037D77D7

插件将上述签名转换为以下签名。

BB4D55F9CF4787F77958A6960CA96708C73AB59B.037D413F53291E957891898307BBF1C41B6037D3

我想知道这些是什么哈希?有没有人遇到类似哈希?

3 个答案:

答案 0 :(得分:3)

Cipher签名代码的秘密:

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

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

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

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
};

以上是解密代码。

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

另外,要下载带有密码签名的视频,您必须使用相同的用户代理标头,发送相同的IP地址请求以及提取后不久发送请求来处理相同的cookie。所有这些在某些时候都是必需的

有关此API的更多信息,请访问:Cipher API

另一个很酷的API:YTstream API

答案 1 :(得分:1)

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

玩得开心:)

答案 2 :(得分:0)

现在,您可以通过youtube-dl轻松创建自己的YouTube下载程序。它也比youtube支持更多。 我还做了一个如何做到这一点的教程。您可以阅读有关here

的更多信息