mirror of
https://github.com/pixeltris/TwitchAdSolutions.git
synced 2024-11-22 18:32:46 +01:00
2424ab3cc1
- Also switch to an MutationObserver model for mute-black / vide-swap #16 |
||
---|---|---|
base | ||
dyn | ||
dyn-skip | ||
dyn-skip-midroll | ||
dyn-skip-midroll-alt | ||
dyn-video-swap | ||
low-res | ||
mute-black | ||
notify-reload | ||
notify-strip | ||
notify-strip-reload | ||
proxy-m3u8 | ||
strip | ||
video-swap | ||
other-solutions.md | ||
README.md | ||
utils.bat | ||
utils.cs | ||
utils.js |
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).
Alternatively:
notify-strip
is ok-ish.Alternate Player for Twitch.tv
consistently updates with new ad-blocking methods.ttv_adEraser
somewhat fixes the purple screen issue ofttv-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 some of these.
If you want a perfect solution, please use Twitch AdBlock
.
- notify-strip (ublock / userscript)
- The same as
strip
, but notifies Twitch that ads were "watched" (reduces preroll ad frequency).
- The same as
- notify-reload (ublock / userscript)
- Notifies that ads were watched, then reloads the player.
- Repeats this until no ads (which may never happen ~ infinite reload).
- You should expect 3-10 player reloads (give or take). Once successful you shouldn't see preroll ads for a while on any stream (10+ minutes?).
- strip (ublock / userscript)
- Ad segments are replaced by low resolution stream segments (on a m3u8 level).
- TODO: Fix midrolls issues (stream freezes for several seconds / potentially longer low res than needed).
- 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.
- video-swap (ublock / userscript)
- Ads are replaced by a low resolution stream for the duration of the ad.
- Similar to
strip
, but skips closer to 20 seconds when switching to the live stream (TODO: low latency support). - You might see tiny bits of the ad.
- Audio controls wont work whilst the ad is playing.
- There are various UX/UI issues with this script which need to be addressed.
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.
The following renamed/deprecated scripts will be removed from the master branch on 1st March 2021
:
dyn
renamed tostrip
as this better reflects the functionality (strips ad segments).dyn-skip
removed as it no longer works.dyn-skip-midroll
renamed tonotify-reload
as the original name has lost its meaning.dyn-skip-midroll-alt
renamed tonotify-strip
as the original name has lost its meaning.dyn-video-swap
renamed tovideo-swap
.
Applying a solution (uBlock Origin)
- Navigate to the uBlock Origin Dashboard (the extension options)
- Under the
My filters
tab addtwitch.tv##+js(twitch-videoad)
. - Under the
Settings
tab, enableI am an advanced user
, then click the cog that appears. Modify the value ofuserResourcesLocation
fromunset
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://github.com/pixeltris/TwitchAdSolutions/raw/master/notify-strip/notify-strip-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.
- 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/instance01/Twitch-HLS-AdBlock (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 (extension)
- Twitch AdBlock - code (extension)
- https://github.com/streamlink/streamlink (desktop application)
- https://github.com/nopbreak/TwitchMod (android app)
- https://twitchls.com/ (external site - purple screen may display every 10-15 mins)
- Use a VPN targeting a region without ads
NOTE/TODO
NOTE: Many of these solutions could do with improvements.
TODO: Test midroll ads.
TODO: More testing in general.