streamlink: plugins.youtube Receiving "Unable to open URL: https://youtube.com/get_video_info" when trying to do --retry-streams after a few retry attempts.

Plugin Issue

  • This is a plugin issue and I have read the contribution guidelines.
  • I am using the latest development version from the master branch.

Description

When trying to use the --retry-streams options on a YouTube livestream that has not begun yet, shortly after running it with either 1-20 seconds between when it checks, it will start outputting

[cli][error] Unable to open URL: https://youtube.com/get_video_info (404 Client Error: Not Found for url: https://www.youtube.com/get_video_info?video_id=yZ7CWjuMCe8&eurl=https%3A%2F%2Fyoutube.googleapis.com%2Fv%2FyZ7CWjuMCe8)

It used to not do this at all until recently about 2-3 days ago on streamlink 2.0.0 and when it did, I tried updating to the current development build but it is still giving me the same thing.

So I am unable to setup streamlink to record for a stream that I wouldn’t be around for since it would give that error even after the stream would start.

Reproduction steps / Explicit stream URLs to test

  1. input streamlink --retry-streams <#> -o <name.ts> <link of a stream that is planned to go live later>

Log output

[cli][debug] OS:         Windows 10
[cli][debug] Python:     3.8.7
[cli][debug] Streamlink: 2.1.1+14.g2884485
[cli][debug] Requests(2.25.1), Socks(1.7.1), Websocket(0.59.0)
[cli][debug] Arguments:
[cli][debug]  --loglevel=debug
[cli][debug]  --rtmpdump=C:\Program Files (x86)\Streamlink\rtmpdump\rtmpdump.exe
[cli][debug]  --ffmpeg-ffmpeg=C:\Program Files (x86)\Streamlink\ffmpeg\ffmpeg.exe

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 3
  • Comments: 22 (4 by maintainers)

Most upvoted comments

@xanek, Does this PR solve the problem?

I think it is? I’m running it on a stream that’s not live yet with “–retry-streams 2” and it doesn’t seem to be giving those messages anymore.

Just to make sure, I’m not sure how to get that pull request (I don’t use github at all), but I went and modified the youtube.py with the changes that were noted and seems to be working fine as of now.

We updated (v2.1.2) our production application. There is no problem.

Seems like the problem is starting up again.

[cli][error] Unable to open URL: https://youtube.com/get_video_info (404 Client Error: Not Found for url: https://www.youtube.com/get_video_info?video_id=bHJ_favp9MI&html5=1&eurl=https%3A%2F%2Fyoutube.googleapis.com%2Fv%2FbHJ_favp9MI)
[cli][error] Unable to open URL: https://youtube.com/get_video_info (404 Client Error: Not Found for url: https://www.youtube.com/get_video_info?video_id=bHJ_favp9MI&html5=1&el=detailpage)
[cli][error] Unable to open URL: https://youtube.com/get_video_info (404 Client Error: Not Found for url: https://www.youtube.com/get_video_info?video_id=bHJ_favp9MI&html5=1&el=detailpage)

I’m unsure what is causing it now.

Thanks for your feedback. Our system is in a similar situation. I also re-examine and find a solution.

That is a livestream you checked. Livestreams only have VP9 (webm) if they are using Low Latency mode. Ultra-Low Latency and Normal Latency do not have VP9 as an option. That stream is Normal latency. Even if it were Low Latency mode, youtube-dl and I think streamlink both grab from the HLS stream playlists, which youtube only provides H264+AAC combined, and thus no audio-only or VP9.

@xanek, does it happen for you 100% of the time, most of the time, occasionally, etc.?

This has been happening ever since a few days ago. It never happened prior to that and I’ve been using streamlink for more than half a year already.