Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Unable to decrypt signature, key length 79 not supported #1126
Comments
|
Same problem here: C:\yt-dl>youtube-dl.exe --verbose http://www.youtube.com/watch?v=j5-yKhDd64s ERROR: Unable to decrypt signature, key length 79 not supported; retrying might |
|
I don't know where the sig len 79 is coming from, but all the sigs I see are sig len 81. pairs: A65FEBFBAEC98BDF3EFE45ACED4CDB82D52569DB.990B0E690FD3E0E028B8CE5C59C253D392AF2EC6 python: javascript: |
|
@patrickslin length 81 is fixed now : aedd6bb, about the length 79, you have to keep trying on the browser until you get it (and with one of the formats in adaptive_fmts), there are some lenghts that are only given by Youtube sometimes, I have managed to add some of them, but it's really boring to get them, I'll have a look. |
|
@patrickslin I catch a video link with signature length 79. Please try to decrypt it: |
|
@Baqan I believe you're looking at the decrypted signature length which is going to be 79. The original signature length (81) is what is begin referred to. |
|
hi, PatickSlin, how do you find the way to decrypt the signature? do you have an automatic tool to find it? a tool to compare the crypted signatures and decrypted signature and find how it is scrambled? |
|
This is fixed now |
|
great! nice job |
|
@actarus33 I wish I had an automatic tool to output the decrypted signatures from the encrypted input... You can capture the content URL network requests using the browser Developer Tools. The requests will include the decrypted 'signature' query parameter. The YouTube player usually makes requests for urls with itag 134 and 140. One is audio and the other is video. These are muxed by the player. Also, the encrypted signatures for adaptive formats can be found in the ytplayer.config.args.adaptive_fmts object. Find the relevant signatures by itags as @jaimeMF mentioned above. I think that it would be pretty straight forward to write something that will figure out the algo based on 2-3 pairs. The fact that the decrypted signature library of characters is bound by type and count to the encrypted input makes this a much easier problem to solve, though still not dead simple. Or better yet, figure out where in YouTube's HTML5 javascript code lies the decryption code. It's got to be there. |
|
Thanks! Good work!! =) |
|
Hi, are there some documents about detail for get youtube video URL? (I am a C coder, I can only understand youtube-dl a few. And, I want to convert youtube-dl to a C language project, in this project URL-obtained is the point. ) Additional question: |
C:>youtube-dl.exe --verbose http://www.youtube.com/watch?v=9bZkp7q19f0
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['--verbose', 'http://www.youtube.com/watch?v=9bZkp7q
19f0']
[debug] youtube-dl version 2013.07.25.1
[debug] Python version 2.7.3 - Windows-XP-5.1.2600-SP3
[debug] Proxy map: {}
[youtube] Setting language
[youtube] 9bZkp7q19f0: Downloading video webpage
[youtube] 9bZkp7q19f0: Downloading video info webpage
[youtube] 9bZkp7q19f0: Extracting video information
[youtube] 9bZkp7q19f0: Encrypted signatures detected.
[youtube] encrypted signature length 81 (40.40), itag 46, html5 player vflLC8JvQ
[youtube] encrypted signature length 81 (40.40), itag 37, html5 player vflLC8JvQ
[youtube] encrypted signature length 81 (40.40), itag 45, html5 player vflLC8JvQ
[youtube] encrypted signature length 81 (40.40), itag 22, html5 player vflLC8JvQ
[youtube] encrypted signature length 81 (40.40), itag 44, html5 player vflLC8JvQ
[youtube] encrypted signature length 81 (40.40), itag 35, html5 player vflLC8JvQ
[youtube] encrypted signature length 81 (40.40), itag 43, html5 player vflLC8JvQ
[youtube] encrypted signature length 81 (40.40), itag 34, html5 player vflLC8JvQ
[youtube] encrypted signature length 81 (40.40), itag 18, html5 player vflLC8JvQ
[youtube] encrypted signature length 81 (40.40), itag 5, html5 player vflLC8JvQ
[youtube] encrypted signature length 81 (40.40), itag 36, html5 player vflLC8JvQ
[youtube] encrypted signature length 79 (38.40), itag 17, html5 player vflLC8JvQ
ERROR: Unable to decrypt signature, key length 79 not supported; retrying might
work; please report this issue on https://yt-dl.org/bug . Be sure to call youtub
e-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "youtube_dl\YoutubeDL.pyo", line 312, in extract_info
File "youtube_dl\extractor\common.pyo", line 96, in extract
File "youtube_dl\extractor\youtube.pyo", line 612, in _real_extract
File "youtube_dl\extractor\youtube.pyo", line 302, in _decrypt_signature
ExtractorError: Unable to decrypt signature, key length 79 not supported; retryi
ng might work; please report this issue on https://yt-dl.org/bug . Be sure to ca
ll youtube-dl with the --verbose flag and include its complete output.