jeckman / YouTube-Downloader

PHP script for downloading videos from youtube; also parsing youtube feed into RSS enclosures for podcatchers
GNU General Public License v2.0
895 stars 474 forks source link

==== Failed to get deciphers function ==== #289

Closed Chandrajeetdas closed 6 years ago

Chandrajeetdas commented 7 years ago

Description

I am getting this error while downloading ciphered signature videos but when i refresh the page after 2-3 retry it works fine. The full error goes here..

Notice: Undefined offset: 1 in C:\wamp64\www\YouTube-Downloader\src\Provider\Youtube\SignatureDecipher.php on line 36

1 | 0.0003 | 365680 | {main}( ) | ...\getvideo.php:0 2 | 0.0054 | 478872 | YoutubeDownloader\Application\App->runWithRoute( ) | ...\getvideo.php:4 3 | 0.0080 | 555272 | YoutubeDownloader\Application\ResultController->execute( ) | ...\App.php:69 4 | 9.8709 | 1136504 | YoutubeDownloader\Provider\Youtube\Format->getUrl( ) | ...\ResultController.php:191 5 | 9.8709 | 1136504 | YoutubeDownloader\Provider\Youtube\Format->parseUrl( ) | ...\Format.php:183 6 | 9.8710 | 1139824 | YoutubeDownloader\Provider\Youtube\SignatureDecipher::getPlayerInfoByVideoId( ) | ...\Format.php:124

Notice: Undefined offset: 1 in C:\wamp64\www\YouTube-Downloader\src\Provider\Youtube\SignatureDecipher.php on line 129

1 | 0.0003 | 365680 | {main}( ) | ...\getvideo.php:0 2 | 0.0054 | 478872 | YoutubeDownloader\Application\App->runWithRoute( ) | ...\getvideo.php:4 3 | 0.0080 | 555272 | YoutubeDownloader\Application\ResultController->execute( ) | ...\App.php:69 4 | 9.8709 | 1136504 | YoutubeDownloader\Provider\Youtube\Format->getUrl( ) | ...\ResultController.php:191 5 | 9.8709 | 1136504 | YoutubeDownloader\Provider\Youtube\Format->parseUrl( ) | ...\Format.php:183 6 | 10.9005 | 1141992 | YoutubeDownloader\Provider\Youtube\SignatureDecipher::decipherSignatureWithRawPlayerScript( ) | ...\Format.php:143

Warning: explode(): Empty delimiter in C:\wamp64\www\YouTube-Downloader\src\Provider\Youtube\SignatureDecipher.php on line 131

1 | 0.0003 | 365680 | {main}( ) | ...\getvideo.php:0 2 | 0.0054 | 478872 | YoutubeDownloader\Application\App->runWithRoute( ) | ...\getvideo.php:4 3 | 0.0080 | 555272 | YoutubeDownloader\Application\ResultController->execute( ) | ...\App.php:69 4 | 9.8709 | 1136504 | YoutubeDownloader\Provider\Youtube\Format->getUrl( ) | ...\ResultController.php:191 5 | 9.8709 | 1136504 | YoutubeDownloader\Provider\Youtube\Format->parseUrl( ) | ...\Format.php:183 6 | 10.9005 | 1141992 | YoutubeDownloader\Provider\Youtube\SignatureDecipher::decipherSignatureWithRawPlayerScript( ) | ...\Format.php:143 7 | 11.0761 | 1142888 | explode ( ) | ...\SignatureDecipher.php:131

[Description of the issue]

Version

Latest version

Additional Information

prodip56 commented 7 years ago

i have the same problem too..

Art4 commented 7 years ago

The SignatureDecipher needs a whole rewrite...

see #300

ghost commented 7 years ago

i dont think its rewrite issue

On Nov 21, 2017 6:55 PM, "Artur Weigandt" notifications@github.com wrote:

The SignatureDecipher needs a whole rewrite...

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jeckman/YouTube-Downloader/issues/289#issuecomment-345990727, or mute the thread https://github.com/notifications/unsubscribe-auth/AVahEBUpbSv617bDkxnt7AlNvqUQpmR5ks5s4qwogaJpZM4QiEFc .

StefansArya commented 7 years ago

There are some loop when calling the decipher and sometime it passed empty string instead of video id.. getPlayerInfoByVideoId( ) should only being called once because it's downloading 1MB file, and only one file needed as a decipher reference before calling decipherSignatureWithRawPlayerScript( )

I still using the signature decipher on my own PHP library, and it still working..

SSuhanya commented 6 years ago

I have same problem. Please help me.........

ilaven commented 6 years ago

Hi Please check this link its working. Failed to get deciphers function

jeckman commented 6 years ago

I don't believe this is still an issue

Izvekov commented 6 years ago

This link videoid=MTuxos4EXow gives an error ==== Failed to get signature function ==== using the latest version SignatureDecipher.php. It is possible to fix it?

jeckman commented 6 years ago

Are you using not just "the latest version SignatureDecipher.php" but the latest of the whole project?

Izvekov commented 6 years ago

https://www.youtube.com/watch?v=MTuxos4EXow

Updated all files, now the error is different.

Fatal error: Uncaught exception 'InvalidArgumentException' in yt/src/Config.php:99 Stack trace: #0 yt/src/Application/ResultController.php(176): YoutubeDownloader\Config->get('localCache') #1 yt/src/Application/App.php(83): YoutubeDownloader\Application\ResultController->execute() #2 yt/getvideo.php(23): YoutubeDownloader\Application\App->runWithRoute('results') #3 {main} thrown in yt/src/Config.php on line 99

Izvekov commented 6 years ago

Deleted everything again and reinstalled. The error is gone. Sorry to bother you.