Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Twitch API #599

Closed
bastimeyer opened this issue Oct 2, 2018 · 8 comments
Closed

New Twitch API #599

bastimeyer opened this issue Oct 2, 2018 · 8 comments

Comments

@bastimeyer
Copy link
Member

As described in another issue earlier this year, Streamlink Twitch GUI will have to switch over to the new Twitch API by the end of the year, as the currently used one (v5) will be shut down at the end of the year:
#549 (comment)

I haven't looked deeply into the changes yet because I wanted to wait first, but a couple of things will have to be removed from the app and other will have to be changed. This isn't too much of a big deal, though.

The big deal here is the rate-limiting of the new API by 120 requests per minute per application.
https://dev.twitch.tv/docs/api/guide/#rate-limits

This is a major issue for Streamlink Twitch GUI, as it isn't just making many requests per user while browsing and using the app (I have always tried to keep the numbers of requests as low as possible), but it is also using its own client-id in Streamlink for requesting the stream data.

I don't have any numbers of how many people are using the app on a daily basis, but since I can see how often the app releases have been downloaded from GitHub and how many times the repo has been cloned, I know that these 120 requests per minute will definitely not suffice, at least during peak times.

Requests for increasing this limit for individual apps can be filed here:
https://dev.twitch.tv/limit-increase/
I'm not sure though if Streamlink Twitch GUI is "suitable" for this, as it's obviously not in Twitch's interest to support applications like this, as it bypasses ads on their site (if we compare the app to their website for browsing streams) and via Streamlink while watching streams.

I will file a request later this year after I have moved the code over to the new API, but in case it will be declined, we will have to look for another solution, like for example adding instructions on how to register a private "Streamlink Twitch GUI" application on Twitch, so that its generated client-id can be used by the user. I'm not sure though if that's against the ToS.

I will update this thread with more infos in the upcoming weeks.

@bastimeyer
Copy link
Member Author

Oh, and Streamlink itself will of course also have to implement the new API:
streamlink/streamlink#1346

@gravyboat
Copy link
Member

@bastimeyer It's probably worth putting the request in before you start all the work just to get a better idea of whether they'll consider it or not in case this impacts design decisions. I've proposed what I think we should send for Streamlink over on streamlink/streamlink#1346 so maybe you can use something similar.

@undeference
Copy link

As described in another issue earlier this year, Streamlink Twitch GUI will have to switch over to the new Twitch API by the end of the year, as the currently used one (v5) will be shut down at the end of the year

I've seen elsewhere, on the Twitch developer site even, that v5 will be shut down at the end of the year, but https://dev.twitch.tv/docs/v5/ says that v5 is deprecated but has no scheduled removal date (yet they will default to v5 on /kraken/ starting in 2019).

@bastimeyer
Copy link
Member Author

I totally didn't notice that. The Twitch devs must have changed their plans then. They received a lot of criticism for the deprecation of v5 earlier. As I said, I haven't followed the recent developments, but yeah, looks like nothing has to be changed here, at least for now.

New features like the category/stream tags and the deprecation of the communities still makes me want to look into the new API (/helix) though. I also don't know what will happen to the private endpoints of their old API (/api) which is used here for accessing the followed games, subscriptions and channel site panels.

@pquerner
Copy link

pquerner commented Mar 16, 2019

It suddenly plays ads for me on various streams. I mostly watch streams in englisch but I get german ads. (So its not something the english streamer would play to his viewers manually?)

Maybe this has something to do with the new API?

(This is with 1.5.0, untested with 1.6.0, streamlink v0.13.0)

@bastimeyer
Copy link
Member Author

This has nothing to do with the API. Twitch has started to serve ads directly in the HLS stream. See the thread on the Streamlink repo.

@monkeyphysics
Copy link

monkeyphysics commented Mar 18, 2019

For anyone wondering, that would be this thread streamlink/streamlink#2357 I think

@bastimeyer
Copy link
Member Author

Closing in favor of #849

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

No branches or pull requests

5 participants