-
Notifications
You must be signed in to change notification settings - Fork 471
Signature problem with some videos #9
Comments
Confirmed - doesn't download either directly or through the proxy. Not sure what the difference is between this and other videos which work |
The download doesn't work when the video has the attribute use_cipher_signature=true |
Can you remove the attribute use_cipher_signature or set it to false, or will that just render the token invalid? |
Interesting, there is a DecryptYouTubeCypher function here http://www.codingforums.com/showthread.php?p=1342470 which might be of interest |
It's generated by the page get_video_info?video_id= and it can't be modified. In fact, if this variable is set to true then the value of the signature must be recalculated. Moreover, the parameter is no longer $sig but $s . // Code |
Thank you but I have already tried this function and it doesn't work. |
Have you tried http://rg3.github.com/youtube-dl/ to see if they have solved it? Might be able to port over their solution if they handle these videos better |
Not certain it is the same issue but see ytdl-org/youtube-dl#897 looks like they have encountered this |
I had some issues with it as well, and not being able to access stuff. I found a decent alternative with the torch browser though. It has some kind of media grabber built in, and it has worked on all the streaming video sites I tried. |
Hello, I've been working with this source closely, and here is what I've found. When downloading videos that contain copyrights, vevo, or even audio soundtracks, it won't work. We need to find the new signature with a less-complicated solution. |
Hi, Yes there is a problem for the Vevo videos, the signature isn't the same, they are using a JS file to modify it... Example for this video : https://www.youtube.com/watch?v=6Cp6mKbRTQY The JS is : http://s.ytimg.com/yts/jsbin/html5player-ima-vflrGwWV9.js Last week I was able to download this videos, but they have modifed it and I don't know how to do now. Thanks in advance. |
See my comment above and link to ytdl-org/youtube-dl#897 The http://rg3.github.com/youtube-dl/ looks to have encountered this and found a workaround - anyone have time to take what they have learned on that project and apply it here? |
Confirmed, I would like to point out that youtube-dl works 100% with Vevo, I'll try to convert the patch to PHP. Wow, youtube-dl is an amazing source, it's very flexible and has many options.. |
I have used youtube-dl and youtube-downloader both. After some analysis I found the actual algo for decrypting the ciphered signature. Check this link: http://stackoverflow.com/questions/21510857/best-approach-to-decode-youtube-cipher-signature-using-php-or-js/21700294#21700294 |
I found this one is much clear and easy: Here are the basic steps:
|
Just found out that youtube changed the function today. In js console:
but the above php js2php routine still works. |
@wilsonschu thank you very much for this very detailed description. I tried your approach but js2php code fails on line do you know how to fix it? if I use the JavaScript only. for Example: and display new signature with javascript alert, then it works... I get deciphered signature displayed... the video still does not play :( |
@wilsonschu do I add the diciphered signature to a URL from url_encoded_fmt_stream_map ? do I need to urldecode any of the parameters? I get the signature, replace s= with signature= but video still does not play.... I checked functions from html5player javascript and they are correct. They are exactly the same as in your example: function fE(a){a=a.split("");a=a.slice(2);a=a.reverse();a=gE(a,39);a=gE(a,43);return a.join("")} |
Somehow the website display removes some ""s. function js2php($f) { On Wed, Mar 19, 2014 at 5:40 PM, simplyi [email protected] wrote:
|
@wilsonschu You are the man! It is working!!! |
@wilsonschu the url_encoded_fmt_stream_map contains urls to videos of different quality. But these urls and all its parameters like "s" for example are all stored in url_encoded_fmt_stream_map as one string. How to I properly split them into a map of = |
parse_str($videoinfo); if (isset($url_encoded_fmt_stream_map)) { $videos = array(); print_r($videos); On Wed, Mar 19, 2014 at 10:34 PM, simplyi [email protected] wrote:
|
Can one of you please make this into a pull request? |
Sorry @jeckman I am very new to gihub interface and do not know how to do it :( |
@wilsonschu with the functions I am getting from html5player(listing below) I am able to play most of youtube videos. function fE(a){a=a.split("");a=a.slice(2);a=a.reverse();a=gE(a,39);a=gE(a,43);return a.join("")} However this does not help with velvo content. Using the above two functions I get the deciphered signature but video still does not download..... I tried using youtube-dl as command like tool and it works great. I wonder if it is possible to convert part of their code that deals with velvo content into php. I have just emailed them.. or maybe use youtube-dl to extract list of video urls with correct deciphered signature that will work. |
@pmesco longer? I didn't get you. |
@pmesco you are welcome to discuss on my email id: [email protected] |
I understand you gave the link to the script you created? or google translator I with emphasis to translate =) |
@bitnol i mean your api will last longer cause i really need it on my project |
Check this out http://wapmon.com/api/yt.php?your_video_id=YOUTUBE_ID |
@pmesco Very interesting... it's using GAE and its working for cipher also :) |
@bitnol your api not working now, it shows "New html5player id found. Please wait while we update our algo list." |
@pmesco yeah fixed that: check this ciper video: http://www.genyoutube.com/?vid=UxxajLWwzqY |
@bitnol wow, its very interesting, you have much format |
I really need code contribution from fellows who are interested. Today its broke because of new method of decryption introduced in js. |
@bitnol Where can we contribute for that? |
Apparently it's possible to rely on regex, because while @bitnol his api wasn't working, mine is (without modifications or code changes). Please don't get me wrong, I don't want to be rude or insult someone. But why is your code closed source? I'm willing to share my code, however I don't know how Github works (and don't want people to hit & run). |
@VileTung Then share it to us |
Sharing is great. And I am also sharing the decryption algo. |
I like to report here a content theft by a Github fellow pmesco [Paul Mikki Escorido] [[email protected]]. He stole my script [ http://www.genyoutube.com ] and uploaded in his server [ http://ytd.wapmon.com/index3.html ] and using it without permission. Other Fellows please make a note of this data theft while having any contact with him. |
Closing this whole thread as won't fix. The whole conversation no longer has anything to do with this actual project. When someone wants to issue a pull request to include cipher videos in YouTube-Downloader I'll be glad to reopen the issue and evaluate the pull request. |
Is private video Problem solved? Anyone have any idea about it? Plz share. |
@bitnol what i have stolen on you? script of your api? oh come on dude, anyone can make script for your api. The point is you dont give the actual script. |
@pmesco You are using my code on your site without permission, its illegal. Remove that code. |
@bitnol Hello bro :) how are you feeling today? Still a baby sitter? Ok bro i will remove your code on my server, and for your information, im not interested to use your script, i only like the design. |
@pmesco Atleast you accepted. On Sat, Nov 15, 2014 at 3:04 AM, pmesco [email protected] wrote:
Regards, |
@bitnol script removed :) and thanks for reporting, do you think it bothered me? |
@VileTung Can you share with me your working code example plz. From a week still i didn't get any solution for youtube cypher signatured video. |
Locking the thread. If y'all want to go use bitnol's API feel free, but none of this is actually adding value to the YouTube-Downloader project at this point. Personally I have no interest in making this work with Cypher signed videos. If someone else does and has code to share, please open a new issue with a pull request. |
doesn't work for some videos, should probably delegate to youtube-dl see jeckman/YouTube-Downloader#9
Right URL handling and parse short URLs for Video ID thanks @DmitriyLyalyuev
The download is forbidden for some videos because of the signature.
Example: http://www.youtube.com/watch?v=ghQvZ9IID2A
The text was updated successfully, but these errors were encountered: