Я хотел бы загрузить видео YouTube с использованием библиотеки nodeJs (анализатор youtube)
var youTubeParser = require('youtube-parser'); youTubeParser.getMetadata('https://www.youtube.com/watch?v=C_vqnySNhQ0') .then( function (metadata) { console.log(metadata.keywords); } );
результат вывода:
{ "sp": "signature", "url": "https://r1---sn-p5h-jhod.googlevideo.com/videoplayback?ratebypass=yes&lmt=1297062699001465&c=WEB&ipbits=0&mn=sn-p5h-jhod%2Csn-hgn7rn7y&key=yt6&ip=105.154.90.255&gir=yes&pl=21&mime=video%2Fwebm&id=o-AMq66AxIjHYurZFwMMzJquo6465eSIwvGgWyvtUJ90pi&ms=au%2Crdu&fvip=1&mv=m&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cexpire&mt=1537619794&itag=43&requiressl=yes&ei=zzemW66XDpOKhAfi46ywDQ&expire=1537641519&mm=31%2C29&dur=0.000&clen=16291318&initcwndbps=265000&source=youtube", "s": "73A73AA9D5D2A7F90F67FBB240F519C55EE8DFE50AA.D6B8616B3EC55AF6ECB8134924263134D1920C21021D" }
Так какВы видите, что я получаю прямую ссылку, но я также получил ошибку 403. Когда я пытаюсь загрузить его, я также получил ошибку 403.
После нескольких поисков на многих форумах я обнаружил, что должен расшифровать подпись шифра, связанную с этим видео.
"s": "73A73AA9D5D2A7F90F67FBB240F519C55EE8DFE50AA.D6B8616B3EC55AF6ECB8134924263134D1920C21021D"
и алгоритм шифрования для этого дешифрования упоминается в этом файле JS
http://s.ytimg.com/yts/jsbin/player-en_US-vfl8eqt4U/base.js (this file can be changed depending on video)
Так есть ли реализация Javascript для такого дешифрования на основе 3 параметров?: Подпись, Идентификатор видео и файл Js (которые содержат алгоритм шифрования).
Я не хочу использовать библиотеку youtube-dl
Спасибо заты время.