2020-12-22 19:43:13 +01:00
# TwitchAdSolutions
This repo aims to provide multiple solutions for blocking Twitch ads.
## Current solutions
2020-12-25 21:11:28 +01:00
- dyn-skip
2020-12-26 07:15:48 +01:00
- Notifies Twitch that ads were watched before requesting the main live stream.
- May slightly slow down loading of streams.
- Falls back to mute-black if this fails (use an alternative solution if it always fails for you, as it adds additional load).
2020-12-22 19:43:13 +01:00
- dyn-video-swap
2020-12-22 20:07:03 +01:00
- Ads are replaced by a low resolution stream for the duration of the ad.
2020-12-22 22:48:00 +01:00
- Similar to `dyn` , but skips closer to 20 seconds when switching to the live stream.
2020-12-22 19:58:05 +01:00
- You might see tiny bits of the ad.
- Audio controls wont work whilst the ad is playing.
2020-12-26 07:15:48 +01:00
- dyn
- Ad segments are replaced by a low resolution stream segments (on a m3u8 level).
- Skips 2-3 seconds when switching to the live stream.
- Stuttering and looping of segments often occur (during the ad segments).
- **NOTE: Removing segments doesn't notify Twitch that ads were watched (aka more served ads).**
2020-12-22 19:43:13 +01:00
- low-res
2020-12-22 19:45:20 +01:00
- No ads.
- The stream is 480p for the duration of the stream.
2020-12-22 19:43:13 +01:00
- mute-black
2020-12-22 19:58:05 +01:00
- Ads are muted / blacked out for the duration of the ad.
- You might see tiny bits of the ad.
2020-12-22 19:43:13 +01:00
## Applying a solution (uBlock Origin)
2020-12-22 20:11:24 +01:00
uBlock Origin solutions are single files, suffixed by `ublock-origin.js` e.g. `low-res-ublock-origin.js` .
2020-12-22 19:43:13 +01:00
- Navigate to the uBlock Origin Dashboard (the extension options)
- Under the `My filters` tab add `twitch.tv##+js(twitch-videoad)` .
2020-12-22 20:11:24 +01:00
- Under the `Settings` tab, enable `I am an advanced user` , then click the cog that appears. Modify the value of `userResourcesLocation` from `unset` to the full url of the solution you wish to use (if a url is already in use, add a space after the existing url). e.g. `userResourcesLocation https://raw.githubusercontent.com/pixeltris/TwitchAdSolutions/master/dyn/dyn-ublock-origin.js`
2020-12-22 19:43:13 +01:00
2020-12-25 21:19:35 +01:00
## Applying a solution (userscript)
Tampermonkey / Greasemonkey can be used on the files suffixed by `userscript.js` e.g. `low-res-userscript.js`
2020-12-22 19:46:00 +01:00
## Other solutions / projects
2020-12-25 21:11:28 +01:00
- https://github.com/odensc/ttv-ublock (extension, purple screen may display every 10-15 mins)
- https://github.com/Nerixyz/ttv-tools (Firefox extension)
- https://github.com/LeonHeidelbach/ttv_adEraser (extension)
- https://github.com/Wilkolicious/twitchAdSkip (UserScript + FrankerFaceZ)
- https://gist.github.com/simple-hacker/ddd81964b3e8bca47e0aead5ad19a707 (UserScript + FrankerFaceZ(optional))
- https://greasyfork.org/en/scripts/415412-twitch-refresh-on-advert/code (UserScript + FrankerFaceZ(optional))
- Alternate Player for Twitch.tv - [code ](https://robwu.nl/crxviewer/?crx=bhplkbgoehhhddaoolmakpocnenplmhf&qf=player.js )
2020-12-22 19:46:00 +01:00
2020-12-22 19:43:13 +01:00
## NOTE/TODO
2020-12-26 07:15:48 +01:00
NOTE: Many of these solutions could do with improvements.
TODO: Add script to auto generate UserScript files from the uBlock Origin scripts.
TODO: Test midroll ads.
TODO: More testing in general.