Skip to content
This repository has been archived by the owner on Jul 12, 2020. It is now read-only.

No format stream map found - was the video id correct? #396

Open
Azicoly opened this issue Jul 9, 2019 · 78 comments
Open

No format stream map found - was the video id correct? #396

Azicoly opened this issue Jul 9, 2019 · 78 comments

Comments

@Azicoly
Copy link

Azicoly commented Jul 9, 2019

Got this error - No format stream map found - was the video id correct? for this link 'nlj9fqTC-BU'

@MCrissDev
Copy link

I could reproduce this issue with the newer video uploads, but works fine with uploads from 1 year and older

@Azicoly
Copy link
Author

Azicoly commented Jul 9, 2019

@MCrissDev , you have any idea this can be fixed?

@MCrissDev
Copy link

Today i saw the issue too, yesterday same videos worked just fine. I will try to see what could be the problem

@SergeyGrinyk
Copy link

Do not work, as a rule, old videos that 3 years or more

@SergeyGrinyk
Copy link

Someone found out the reason?

@jedixraja
Copy link

same here

@ghost
Copy link

ghost commented Jul 15, 2019

Yes, the system is not working!
In my case, only Music Videos, or protected videos are not downloading.
I think Youtube has updated their system and it is not only a Cipher Signature issue this time.
Hope you can fix soon!
In some web search I could see that others Youtube downloader system are not working too.
So the update was general on Youtube.

@chadul
Copy link

chadul commented Jul 27, 2019

Same here..

@MCrissDev
Copy link

Any news about this?

@shujonmahmud
Copy link

"No format stream map found - was the video id correct?" Error found again

I've checked that "url_encoded_fmt_stream_map" no longer available from "get_video_info" using the previous $video_info_url = 'https://www.youtube.com/get_video_info?&video_id=' . $input . '&asv=3&el=detailpage&hl=en_US'; but by changing this one: $video_info_url = 'https://www.youtube.com/get_video_info?&video_id=' . $input . '&sts=17488&hl=en&el=detailpage'; working again in /src/Provider/Youtube/Provider.php. But it's getting another error:

Warning: preg_match_all() expects parameter 2 to be string, array given in C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\SignatureDecipher.php on line 132

Fatal error: Uncaught Exception: Failed to get deciphers function in C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\SignatureDecipher.php:136 Stack trace: #0 C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\Format.php(161): YoutubeDownloader\Provider\Youtube\SignatureDecipher::extractDecipherOpcode('...', Object(YoutubeDownloader\Logger\HandlerAwareLogger)) #1 C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\Format.php(259): YoutubeDownloader\Provider\Youtube\Format->parseUrl() #2 C:\xampp\htdocs\YouTube-Downloader-0.10\src\Application\ResultController.php(156): YoutubeDownloader\Provider\Youtube\Format->getExpires() #3 C:\xampp\htdocs\YouTube-Downloader-0.10\src\Application\App.php(83): YoutubeDownloader\Application\ResultController->execute() #4 C:\xampp\htdocs\YouTube-Downloader-0.10\getvideo.php(23): YoutubeDownloader\Application\App->runWithRoute('results') #5 {main} thrown in C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\SignatureDecipher.php on line 136

And I did't fix this problem yet. I am requesting to @jeckman please fix this issue.

@attackwap
Copy link

"No format stream map found - was the video id correct?" Error found again

I've checked that "url_encoded_fmt_stream_map" no longer available from "get_video_info" using the previous $video_info_url = 'https://www.youtube.com/get_video_info?&video_id=' . $input . '&asv=3&el=detailpage&hl=en_US'; but by changing this one: $video_info_url = 'https://www.youtube.com/get_video_info?&video_id=' . $input . '&sts=17488&hl=en&el=detailpage'; working again in /src/Provider/Youtube/Provider.php. But it's getting another error:

Warning: preg_match_all() expects parameter 2 to be string, array given in C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\SignatureDecipher.php on line 132
Fatal error: Uncaught Exception: Failed to get deciphers function in C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\SignatureDecipher.php:136 Stack trace: #0 C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\Format.php(161): YoutubeDownloader\Provider\Youtube\SignatureDecipher::extractDecipherOpcode('...', Object(YoutubeDownloader\Logger\HandlerAwareLogger)) #1 C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\Format.php(259): YoutubeDownloader\Provider\Youtube\Format->parseUrl() #2 C:\xampp\htdocs\YouTube-Downloader-0.10\src\Application\ResultController.php(156): YoutubeDownloader\Provider\Youtube\Format->getExpires() #3 C:\xampp\htdocs\YouTube-Downloader-0.10\src\Application\App.php(83): YoutubeDownloader\Application\ResultController->execute() #4 C:\xampp\htdocs\YouTube-Downloader-0.10\getvideo.php(23): YoutubeDownloader\Application\App->runWithRoute('results') #5 {main} thrown in C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\SignatureDecipher.php on line 136

And I did't fix this problem yet. I am requesting to @jeckman please fix this issue.

at localhost working bro this is i think maybe function curl need to be change

@shujonmahmud
Copy link

"No format stream map found - was the video id correct?" Error found again

I've checked that "url_encoded_fmt_stream_map" no longer available from "get_video_info" using the previous $video_info_url = 'https://www.youtube.com/get_video_info?&video_id=' . $input . '&asv=3&el=detailpage&hl=en_US'; but by changing this one: $video_info_url = 'https://www.youtube.com/get_video_info?&video_id=' . $input . '&sts=17488&hl=en&el=detailpage'; working again in /src/Provider/Youtube/Provider.php. But it's getting another error:

Warning: preg_match_all() expects parameter 2 to be string, array given in C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\SignatureDecipher.php on line 132
Fatal error: Uncaught Exception: Failed to get deciphers function in C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\SignatureDecipher.php:136 Stack trace: #0 C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\Format.php(161): YoutubeDownloader\Provider\Youtube\SignatureDecipher::extractDecipherOpcode('...', Object(YoutubeDownloader\Logger\HandlerAwareLogger)) #1 C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\Format.php(259): YoutubeDownloader\Provider\Youtube\Format->parseUrl() #2 C:\xampp\htdocs\YouTube-Downloader-0.10\src\Application\ResultController.php(156): YoutubeDownloader\Provider\Youtube\Format->getExpires() #3 C:\xampp\htdocs\YouTube-Downloader-0.10\src\Application\App.php(83): YoutubeDownloader\Application\ResultController->execute() #4 C:\xampp\htdocs\YouTube-Downloader-0.10\getvideo.php(23): YoutubeDownloader\Application\App->runWithRoute('results') #5 {main} thrown in C:\xampp\htdocs\YouTube-Downloader-0.10\src\Provider\Youtube\SignatureDecipher.php on line 136

And I did't fix this problem yet. I am requesting to @jeckman please fix this issue.

at localhost working bro this is i think maybe function curl need to be change

I think you are wrong because I am using this script to my website and for not working the script, my site's bounce rate, session, impressions all are down.
you should check another YouTube link that needs a signature to download like below: https://www.youtube.com/watch?v=CevxZvSJLk8

@attackwap
Copy link

i try to server but no luck even i change url get_video_info, but at xampp localhost its work

@butyzon4u
Copy link

butyzon4u commented Aug 4, 2019 via email

@chmas123chmas123
Copy link

certain video have age restriction
you can use $video_info_url = 'https://www.youtube.com/get_video_info?&video_id=' . $input . '&asv=3&el=embedded&hl=en_US'; .......instead of $video_info_url = 'https://www.youtube.com/get_video_info?&video_id=' . $input . '&asv=3&el=detailpage&hl=en_US';

.
.
.
.
newly ....status is always ok in "https://www.youtube.com/get_video_info" even if "url_encoded_fmt_stream_map" be empty..
so script cannot detect correct '&el='

my script to solve that automatically
parse_str($videoData, $videoData);
if (!empty($videoData['url_encoded_fmt_stream_map']))

.
.
.
.
.
http://filmyou.ir/utube/getvideo.php?videoid=d5zr26j8zF4&type=Download ====>not work

http://filmyou.ir/ut2/d5zr26j8zF4/work fine

@attackwap
Copy link

still not lucky for me

@ghost
Copy link

ghost commented Aug 12, 2019 via email

@attackwap
Copy link

Worked! http://u2wap.herokuapp.com/download/CevxZvSJLk8

On Sun, Aug 11, 2019 at 7:13 PM attackwap @.***> wrote: still not lucky for me — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#396?email_source=notifications&email_token=AFLKCEHEDP2GY2UTR4BPAALQD7X5XA5CNFSM4H7EGKZ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4A6YOI#issuecomment-520219705>, or mute the thread https://github.com/notifications/unsubscribe-auth/AFLKCEDNCBFP2PITCAYIKTLQD7X5XANCNFSM4H7EGKZQ .

good but not answer this issue

@Izvekov
Copy link

Izvekov commented Aug 25, 2019

Is there a solution to the problem? http://filmyou.ir/utube/getvideo.php?videoid=https://www.youtube.com/watch?v=ippdJpqHBRo .Many mistakes

@toslaw
Copy link

toslaw commented Aug 29, 2019

Is there a solution to the problem? http://filmyou.ir/utube/getvideo.php?videoid=https://www.youtube.com/watch?v=ippdJpqHBRo .Many mistakes
any solution yet ???

@knpau
Copy link
Contributor

knpau commented Aug 29, 2019 via email

@toslaw
Copy link

toslaw commented Aug 29, 2019

mine does not download any video, all video give me no format stream map found, ...any help on that

@knpau
Copy link
Contributor

knpau commented Aug 29, 2019

Decipher function is broken, disable it, you still can download most of the videos. Set it to false.

// in config/custom.php
return [
'enable_youtube_decipher_signature' => false,

@adamwoo2444
Copy link

@vladikvenger hey please help us. Tell us how you manage to solve this issue.

@jswails
Copy link

jswails commented Aug 30, 2019

i have tested a number of vids tonight. does seem to be just a restricted or age restriction video issue. especially with music. didnt have any issues with non music
Im am quoting below a possible fix for those with issues that was already posted but further up the chain. take a look at that.

certain video have age restriction
you can use $video_info_url = 'https://www.youtube.com/get_video_info?&video_id=' . $input . '&asv=3&el=embedded&hl=en_US'; .......instead of $video_info_url = 'https://www.youtube.com/get_video_info?&video_id=' . $input . '&asv=3&el=detailpage&hl=en_US';

.
.
.
.
newly ....status is always ok in "https://www.youtube.com/get_video_info" even if "url_encoded_fmt_stream_map" be empty..
so script cannot detect correct '&el='

my script to solve that automatically
parse_str($videoData, $videoData);
if (!empty($videoData['url_encoded_fmt_stream_map']))

.
.
.
.
.
http://filmyou.ir/utube/getvideo.php?videoid=d5zr26j8zF4&type=Download ====>not work

http://filmyou.ir/ut2/d5zr26j8zF4/work fine

@adamwoo2444
Copy link

@jswails thank you so much for the fix.
Can you tell where we have to change the code? line number or file.

Thanks

@BelleNottelling
Copy link
Contributor

BelleNottelling commented Aug 31, 2019

These changes are already active.
Edit: just the URL change as age restriction workaround

@adamwoo2444
Copy link

Screen Shot 2019-08-31 at 5 00 29 PM

404 error :(

@adamwoo2444
Copy link

adamwoo2444 commented Aug 31, 2019

@BenNottelling @jswails can you tell me where i have to change. I tried changing url but it did not workout.

@toslaw
Copy link

toslaw commented Aug 31, 2019

Mine will work fine but after a while, the same download link will bring out the no format stream map found error ...

kindly help

@Izvekov
Copy link

Izvekov commented Sep 7, 2019

Thank you for answering and trying to help.
replace if (isset($GET['format']))
{ $adaptive_formats = explode(',', $this->data['adaptive_fmts']); }
The script produces the other links error wrote
Notice: Undefined variable: adaptive_formats in /src/Provider/Youtube/VideoInfo.php on line 415 Catchable fatal error: Argument 1 passed to YoutubeDownloader\Provider\Youtube\VideoInfo::parseFormats() must be of the type array, null given, called in /src/Provider/Youtube/VideoInfo.php on line 415 and defined in /src/Provider/Youtube/VideoInfo.php on line 257 The problem is not solved so :(

@KitDevUA
Copy link

KitDevUA commented Sep 7, 2019

Thank you so much for your reply. Yes the proxy needs to solve the problem, if you guess through which country should request to do so. Can you tell me where YouTube-Downloader request goes, which must be sent via proxy? Thanks.

Any third world country will work. But this will not help with those videos that have other restrictions. For example, age.
I have no perfect solution. I am looking for it in this thread just like you)

@butyzon4u
Copy link

butyzon4u commented Sep 7, 2019 via email

@KitDevUA
Copy link

KitDevUA commented Sep 7, 2019

Where can I buy sure proxy?

proxy6_dot_net, I use Turkey.
But again, it helped me with less then half the problematic videos.
I advise you to look for a better solution.

@butyzon4u
Copy link

butyzon4u commented Sep 7, 2019 via email

@butyzon4u
Copy link

butyzon4u commented Sep 7, 2019 via email

@KitDevUA
Copy link

KitDevUA commented Sep 7, 2019

I have used a lot of proxies which don't work. How good is the source?

This is an ordinary proxy. This solution helps me with some videos that were previously inaccessible.
I just made several attempts to get the video through the loop, where second step is via proxy.

@butyzon4u
Copy link

butyzon4u commented Sep 7, 2019 via email

@Izvekov
Copy link

Izvekov commented Sep 11, 2019

New changes in format (just today) and not give out links, but gives a "flow map format not found - was the correct ID for the video?" Help please.

@amircloner
Copy link

hi guys

No format stream map found - was the video id correct?

error_log

[11-Sep-2019 16:41:10 UTC] PHP Notice: Undefined index: url_encoded_fmt_stream_map in /home/rnqutir/streambit.ir/YouTube-Downloader/src/Provider/Youtube/VideoInfo.php on line 396
[11-Sep-2019 16:41:36 UTC] PHP Notice: Undefined index: url_encoded_fmt_stream_map in /home/rnqutir/streambit.ir/YouTube-Downloader/src/Provider/Youtube/VideoInfo.php on line 396
[11-Sep-2019 16:42:00 UTC] PHP Notice: Undefined index: url_encoded_fmt_stream_map in /home/rnqutir/streambit.ir/YouTube-Downloader/src/Provider/Youtube/VideoInfo.php on line 396

how fixed it

@Amonpointh
Copy link

This youtube downloader stopped working

@amircloner
Copy link

which number stil working

@Izvekov
Copy link

Izvekov commented Sep 12, 2019

miracle. Today everything worked, although nothing changed or updated!

@miadsaadidi
Copy link

@Izvekov could you please test this video https://www.youtube.com/watch?v=VfkJvsR6dhI because It's still not working for me. I got 0B file size

@Izvekov
Copy link

Izvekov commented Sep 14, 2019

@miadsaadidi through some proxies gives an error, through others gives a link that when you try to open gives an error 403. I found only one proxy through which working links can get to your file. If appropriate http://smsbox.qlihost.ru/y/getvideo.php?videoid=VfkJvsR6dhI can use at their discretion, changing videoid

@adamwoo2444
Copy link

not working for this link "https://www.youtube.com/watch?v=ZEKcufmrb0s" .

@butyzon4u
Copy link

butyzon4u commented Sep 14, 2019 via email

@dribgnikcom
Copy link

Still the same error... Some days it will work on 10% of videos, but most of the time, it's no format stream map found.

What does this have to do with a proxy? Say I go to Youtube, click play, and the video starts, how is that different from how the script works?

Why should one work and the other one be blocked.

0.10 is long in the tooth and has not been working properly for the past year.

@mhama
Copy link
Contributor

mhama commented Jan 19, 2020

As I failed to download any of youtube videos recently, I fixed an aspect of the problem with the PR #431 , and it has merged. So please try the current master branch.

In the cource of creating the PR, I found several reasons to show No format stream map found - was the video id correct? error screen.

  • the video's geo-blocking setting (seems to be only available for some kind of youtube users)
    • content of player_response is like:
      {"playabilityStatus":{"status":"UNPLAYABLE","reason":"The uploader has not made this video available in your country."
  • accessing http://www.youtube.com/get_video_info?video_id=... is not successful.
    • Youtube is throttling access for your ip/domain
    • or actually the video id is not found.

When there is ciper parameters in the formats and no url parameters exist, it returns 500 error on getting video size.

PHP Fatal error:  Uncaught Exception: <url> malformed in /app/src/Http/CurlClient.php:203
Stack trace:
#0 /app/src/Http/CurlClient.php(113): YoutubeDownloader\Http\CurlClient->getHttpResponseFromCurl(Resource id #2, Array)
#1 /app/src/Http/CurlClient.php(76): YoutubeDownloader\Http\CurlClient->sendRequest(Object(YoutubeDownloader\Http\Request))
#2 /app/src/Application/ControllerAbstract.php(105): YoutubeDownloader\Http\CurlClient->send(Object(YoutubeDownloader\Http\Request), Array)
#3 /app/src/Application/ResultController.php(174): YoutubeDownloader\Application\ControllerAbstract->getSize('', Object(YoutubeDownloader\Config), Object(YoutubeDownloader\Toolkit))
#4 /app/src/Application/App.php(83): YoutubeDownloader\Application\ResultController->execute()
#5 /app/getvideo.php(23): YoutubeDownloader\Application\App->runWithRoute('results')
#6 {main}

@jeckman
Copy link
Owner

jeckman commented Jan 27, 2020

@mhama thanks for the pull request.

Could you do another pull request to turn some of these responses into better user-facing errors?

We get a lot of error reports here that just say "it doesn't work" - getting better error messages would help reduce the volume of those by making more clear what the underlying issue might be

@dribgnikcom
Copy link

Thank you, it's working. Something is up with git. I'm an ignoramous but I've been able to clone and checkout with git before, but now it's giving me old, stale versions (both when updating and cloning -- per the instructions you provided).

In the end I just did a wget on the zip instead and I got the fresh files.

@attackwap
Copy link

player_response only comes out if the video is not copyrighted, for music videos like vevo and more there is no player_response at get_video_info

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests