anxdpanic / plugin.video.twitch

Watch your favorite gaming streams on Kodi
https://twitchaddon.page.link/forum
264 stars 81 forks source link

EXT-X-DISCONTINUITY for adaptive streams #447

Open anxdpanic opened 5 years ago

anxdpanic commented 5 years ago

Follow up to #439

cmsimike commented 5 years ago

I'm curious, can the twitch plugin tell if twitch is playing an ad? if so, can it emit some event, somehow?

i ask because it would be nice to catch the event elsewhere and make the api call to kodi to mute it (and bonus points if the plugin can emit a another event for not an ad).

the fact that this is labeled with a dependency tag makes me think no :(

anxdpanic commented 5 years ago

I really don't like the ads either, but in good faith I don't think the add-on should try to bypass/silence them.

It's handled by Kodi or InputStream Adaptive, but there may be a player event triggered (onAVChange) where checking the playing url may show if it's an ad or not. Not sure how reliable this would be but this could be done separately from something like the autoexec.py.

cmsimike commented 5 years ago

I really don't like the ads either, but in good faith I don't think the add-on should try to bypass/silence them.

makes sense! thanks for weighing in.

debdrup commented 4 years ago

I believe they use this feature to inject. Would it be possible to get a toggle feature that can only be adjusted by changing a flag in a config file by hand - for example one called use_optional_features=yes which when enabled will allow EXT-X-DISCONTINUITY and have that be the default?

Psychoses commented 3 years ago

Hi and sorry for my bad english.

related issues : #447 (this one), #457, #452 (bsod), https://github.com/anxdpanic/Twitch-on-Kodi/issues/451#issuecomment-691730933

So I just found a way to remove the ads and hope @anxdpanic will implement the change. With a try_to_disable_ads option maybe or a way to setup platform used manually ? for be compatible with :

I don't think the add-on should try to bypass/silence them.

The posts of @bastimeyer and @pixeltris help me a lot in finding a solution for the ads :

8 days ago : https://github.com/streamlink/streamlink/issues/3120#issuecomment-692309197

from 16 Mar 2019 : https://github.com/streamlink/streamlink/issues/2357#issuecomment-473565335

From my 2 day test : Use platform="web" like the current version show instantly a ads on some stream. return server_ads=true. Use platform="ps4" remove ads. return server_ads=true. like before this commit https://github.com/anxdpanic/Twitch-on-Kodi/commit/86e3e7bc1ace4dd62d3f58cd237a0ab546d52303 Use platform="_" remove ads. return server_ads=false.

So all is under def get_live u need change that line :

https://github.com/anxdpanic/Twitch-on-Kodi/blob/a452f1419912b1fe2487d1d03bdaf3878fc1f85f/resources/lib/twitch_addon/addon/api.py#L337

to :

results = self.usher.live_request(name, platform='ps4', headers=self.get_private_credential_headers())

then no more ads until twitch change.

anxdpanic commented 3 years ago

@Psychoses Thanks for the information, I was aware myself but others likely weren't.

As mentioned previously, in good faith to Twitch and the Streamers I won't change the add-on in a way to intentionally block ads when possible, there are subscriptions and twitch turbo for that. I know that isn't the answer any one wants, but at this point we are allowed to exist and I'd rather the add-on exist with ads and not be forced to a different client.

Toiletmason commented 3 years ago

@anxdpanic what if there was a way to implement the adblocking via an additional extension that wouldn't be added to the official kodi repo similar to the sponsorblock plugin works for YouTube. That way if Twitch gets salty they can complain about that one. Also, as the plugin is you don't see the actual ad just the splash screen so I doubt anyone is getting paid right now. It's just an annoyance to us.

madmax2 commented 3 months ago

@anxdpanic bad faith or not, I think at least being able to silence their ads would be good for one's sanity.. and I think they would still get money for it.

Twitch has the worst ads system of all the streaming sites.. They will often serve you like 6 or more of the same unskippable ads each time every hour or less ... Even youtube ads give you option to skip the ads after a few seconds..

If you don't want to officially implement it, at least give an external plugin (like sponsorblock as suggested) or whatever method (e.g. tutorial) to do this..

madmax2 commented 3 months ago

@Psychoses is your method for removal of the ads still working in 2024?

So we just change the api.py line to results = self.usher.live_request(name, platform='ps4', headers=self.get_private_credential_headers())

After we edited and save the file. where do we put the api.py file if we already installed the addon?

ie where is the location of the api,py file on the kodi storage location or do we need to reinstall addon again, with the included api.py file?

===========

Is platform='ps4', the only option that works?

what happens if you use the other two options, does it not remove the ads? -Use platform="web" like the current version show instantly a ads on some stream. return serverads=true. -Use platform="" remove ads. return server_ads=false.