1
0
mirror of https://github.com/pixeltris/TwitchAdSolutions.git synced 2024-11-22 02:12:45 +01:00
TwitchAdSolutions/README.md
2021-01-06 00:44:07 +00:00

6.6 KiB

TwitchAdSolutions

This repo aims to provide multiple solutions for blocking Twitch ads.

Recommendations

M3U8 proxies (or full proxies / VPNs) are currently the most reliable way of avoiding ads. More proxy hosts would be ideal (see #8).

  • There currently aren't any public M3U8 proxies...

Alternatively:

  • dyn-skip / dyn-skip-midroll-alt are decent.
  • Alternate Player for Twitch.tv consistently updates with new ad-blocking methods.
  • ttv_adEraser somewhat fixes the purple screen issue of ttv-ublock.
  • ttv-tools (firefox) has nice features.

Current solutions

These solutions generally aren't compatible with other Twitch ad blockers. e.g. ttv-ublock will break dyn-skip (and others).

  • dyn-skip (ublock / userscript)
    • Notifies Twitch that ads were watched before requesting the main live stream.
    • Falls back to mute-black if this fails (use an alternative solution if it always fails for you, as it adds additional load).
    • Midroll ads are muted/blacked out. See dyn-skip-midroll-alt for an alternative solution.
  • dyn-skip-midroll-alt (ublock / userscript)
    • A mix of dyn-skip / dyn. During midrolls this plays a low resolution stream instead of nothing - might be a little glitchy but should always play something.
    • If you see a Waiting for ads to finish banner without midroll in the banner text, you should be able to just refresh the page to get a regular stream.
  • dyn-skip-midroll (ublock / userscript) (not recommended)
    • The same as dyn-skip, but attempts to fully skip midroll ads (I'm not sure if this has ever actually worked - infinite reload).
    • This requires the script to work perfectly, otherwise the player will hit a reload loop.
  • dyn-video-swap (ublock / userscript)
    • Ads are replaced by a low resolution stream for the duration of the ad.
    • Similar to dyn, but skips closer to 20 seconds when switching to the live stream.
    • You might see tiny bits of the ad.
    • Audio controls wont work whilst the ad is playing.
  • dyn (ublock / userscript)
    • Ad segments are replaced by 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).
  • low-res (ublock / userscript)
    • No ads.
    • The stream is 480p for the duration of the stream.
  • mute-black (ublock / userscript)
    • Ads are muted / blacked out for the duration of the ad.
    • You might see tiny bits of the ad.
  • proxy-m3u8 (ublock / userscript) (proxy currently points to a dead url)
    • Uses a proxy server to fetch an ad-free stream.
    • Currently only the initial m3u8 is proxied, so there shouldn't be any additional latency.
    • Assumes the proxy server acts in good faith and maintains a good uptime.

Applying a solution (uBlock Origin)

  • Navigate to the uBlock Origin Dashboard (the extension options)
  • Under the My filters tab add twitch.tv##+js(twitch-videoad).
  • 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
  • To ensure uBlock Origin loads the script I recommend that you disable/enable the uBlock Origin extension (or restart your browser).

Applying a solution (userscript)

  • Viewing one of the userscript files should prompt the given script to be added.

Other solutions / projects

For a more detailed description of the following please refer to this.


NOTE/TODO

NOTE: Many of these solutions could do with improvements.
TODO: Test midroll ads.
TODO: More testing in general.