relaxo-player/TivySkip-extension

Web Extension effectively adblocks and auto skips ads on any live TV video that has a broadcast logo. So you never have to see linear ads or remember to unmute after ads are over.

0

stars

22

commits

May 20, 2026

updated

README

TivySkip Logo

TivySkip - Web Extension

TivySkip is a Live TV Adblocker that fast-forwards over ads on any live TV video stream. It auto mutes the tab and blocks the ads, skipping them along if possible.

Who is this for?

For people who watch broadcast IPTV streams on random websites and are tired of having to mute loud commercials in real-time - always forgetting to unmute as the adbreak finishes.

TivySkip automates adblocking so you no longer have to endure ads or remember to unmute annoying sounds ever again.

[!NOTE]

Auto adblock requires a video stream with constant static broadcast logo over content

Table of Contents

Demo

https://github.com/user-attachments/assets/f7b1dacc-8806-4786-b7dd-553627c206e2

Watch the demo

Fallback Tab Demo - Replaces ads with paused up media from another tab

https://github.com/user-attachments/assets/597b0890-1640-48a8-845f-ab834d8ca0cf

Screenshots

Instant Adblock

skipping

Advert Detected

More Screenshots

Auto calibrate

manual calibrate

missing

commercial-in-progress

waiting

blur peek

sleep

sleep over

settings

latest setting

Install

Install Latest Version from store:

Manual Install

See all the releases

Install Pre-release Temporarily
  1. Add the extension as a temporary addon by navigating to "about:debugging"
  2. Click on "This Firefox" and "Load Temporary Add-on..."
  3. Navigate to the folder where the extension is saved and double click on any file inside of the folder to import the addon

Unfortunately you will have to do this each time you restart firefox

Install Pre-release Permanently

With supported version of firefox nightly or developer, you can install the unsigned pre-release extension permanently by following these steps:

  1. Navigate to "about:config"
  2. Type "xpinstall.signatures.required" into the text field that shows up and set the value to "false"
  3. Navigate to "about:addons"
  4. Click on the little cog wheel icon and "Install Addon from file..."
  5. Select the folder and you are done

This way you will not have to reinstall the extension each time you restart your browser.

Getting started

  • Navigate to a page where live broadcast TV is playing in a basic <video/>
  • Click on the TivySkip button in the extension toolbar and click Start Adblocking.
  • Notice the video frames being edge traced in the viewbox and see how it automatically detects the broadcast logo of the video and how accurately it redetects each few seconds.
  • Drag the mouse in the viewbox to manually highlight the exact base logo if needed
  • Enable all AdSkip settings for best results (only work well if video has timebar) or none if you just want simple live adblocking with muted blackout overlay

Additional notes

  • Designed for one primary stream and one Fallback Tab max
    • we suggest you find content without ads to use as fallback media (replace ads with anything by selecting a tab to be the fallback tab). and only use one main browser window

[!WARNING]

Multiple streams cannot be adblocked at the same time yet.

Embedded iframe video may have issues:

This extension works best on any page with a <video/> tag and in a limited way for embedded <iframe/> live videos.

  • Adskipping unavailable inside iframes, only default auto blockout available.
  • Press go to iframe button or try right-click the video to "load just the target iframe" in it's own tab so extension can better detect and manipulate the true <video/>
  • if you must use iframe, don't scroll the page away from video playing as the extension is taking screenshots of the visible page to do regular logo matching.

How it works

  1. Once a video becomes audible the extension auto discovers broadcast logos in the live feed
  2. When the logo disappears for more than a few seconds we assume ads are playing
  3. The tab is then muted and an interactive blackout overlay applied to the video area for the duration of the adbreak
  4. Ads are skipped along if possible until logo returns and blackout/mute is reversed.

Caveats

  1. You may need to manually engage the blockout overlay Key A if the logo is not immediately shown at the start of your stream (you began into ads)
    • saved logos are coming soon to make the start of streams less painful on your favorite channels but for now each page load requires rebuilding the logo mask.
  2. After 20 seconds of content most logos are auto discovered nicely you can expect total handsfree adblocking.
    • Look for eyes emoji over extension icon to signal active watching
  3. Small or transparent logos can trigger adblock false positives if not matching well
    • ensure a strong static part of the logo is the mask being matched by click+drag over it in viewfinder (above 50px average should be enough)
  4. Smart Timers form the foundation of this extension, toggle them into or out of any state by using the toggles shown in top right of extension dropdown or keyboard shortcuts.
    • Sleep timer: puts the tab to sleep after a while
    • pause timer: unpauses after timeout
    • mute timeout (Key Q): for muting annoying sounds temporiliy, unmutes after timeout finishes
    • adblock blackout overlay timer (Key A): removes the blackout after timeout
    • system respite (Key Z): disallows any auto triggers until timeout ends, prevents false positives.

[!NOTE]

No external API calls or AI is used, and no login required. Extension uses a light weight built-in computer vision library ~ 180MB RAM, 0.5% CPU. All skips and changes to the timeline are reversible via browser notifications or undo button in ext dropdown.

This system is extremely accurate for solid logos and works very well for transparent logos (change sensitivity to low if not working well or use Key Z for occasional respite from false positives).

FAQ

Does auto adblocking work on recorded streams?

yes, so long as there is a static logo present over content and not over ads. This extension was designed for actual live TV but it also works great with pre-recorded streams as tested with Jellyfin web player. It would need to because rewinding is effectively a recorded stream at that point.

Does adskip work on recorded streams?

yes, as long there is a timeline you can skip around and the video player on the page isn't inside an iframe we can skip around just as a user would.

How Our AdSkip Works

You start watching live TV normally. When ads happen there is no forward buffer available to skip through so the extension smartly manages this cache for you.

  1. Rapid Rewind 3-5 minutes to build up enough buffer
    • The user sees the same content they just saw on the screen replay without sound
    • If that is undesirable:
      • disable Rapid Rewind, or
      • set a Fallback Tab to briefly play other content, or
      • look away during this rewind/replay time, or
      • click the notification or open extension to "UNDO REWIND"
  2. Now after a few mins with enough buffer built up AdSkip can fast forward over the entire ad break until the start of the next content block.
    • if watching Picture-in-Picture notice that very little ad visuals had to be endured compared to basic ad muting.
    • "UNDO FAST FORWARD" via notification or in extension drop down
  3. At the point where content returns we can do a strategic Temporary Pause (optional) for a few mins thereby building up even more time buffer so that Rapid Rewind is not needed as much next adbreak:
    • The user does not have to wait for pause timer to complete, here the user can simply press play when ready and endure slightly more/less rewind time next adbreak to his liking.

This way you can get up and do what you like during ads and generally come back to a player that is ready for you to press play. It also means two blocks of content can play back-to-back for better immersion and less cliff hangers. But it always catches up to live eventually and we display your "Behind Live" time after every unpause. Alternatively you can simply pause for a very long time (15 minutes) at the start to get maximum adskip over an hour but you risk losing the cached up content to streaming/buffering/page load issues and you need to trust the player does not force catchup to most live point in stream.

Release notes

1.1.3

* FIXED: auto adblock: video inside iframe logo watching now working 
* auto adblocking iframe: large central blackout circle added to obscure ads better
* keyboard shortcuts remain active on return to that url host (once tab is audible)

1.1.2

* More accurate blackout overlay for iframes
* Better keyboard shortcuts for manual activation and timer adjustment.
* Improvements to auto pause buffer build up timer feature

1.1.1

* "Mute on fullscreen exit" setting - for manual adblocking when auto is unavailable
* Better sleep timer defaults
* Renamed extension to "TivySkip" as Mute Buddy was underselling the main capabilities of the extension
* Better false positive logo drop detection
* Faster ad skipping

Can't I Just mute ads and skip around myself?

Sure, though we've automated it into a cohesive extension so no need to focus and work so hard every 8-12 minutes. You can start watching right away and regularly ingest 24 minutes of content at once just by waiting occasionally.

Here's what we've automated for you:

  • Muting and unmuting ads - and blacks out the feed during ads, showing estimated time remaining if you wiggle the mouse or tap the overlay
  • Fastforwarding ads or pausing & rewinding a bit - builds up video cache for more immersive viewing without showing advert visuals while in PnP mode
  • Switching tabs during ads, briefly playing whatever substitute content is desired and pausing it so you come back it where you were next adbreak.

TivySkip Alternatives

https://github.com/RG-O/YoutubeOverCommercials - Live Commercial Blocker - latches on to single pixel of solid logo only reliable for some sports not all regular TV with semi-transparent logos

https://github.com/jrauser/hush - manual AI training required to tell it what regular content style looks like, heavy on resources and requires companion to install on PC. Not limited to broadcast TV though.

Websites/projects compatible with TivySkip

  • Jellyfin IPTV web player
  • tvpass(dot)org and pleyr.net
  • Popular iptv streaming players like jplayer etc.
  • pretty much any video library the page uses with or without the timeline available so long as it uses the standard <video/> tag and is not inside an <iFrame/>

Suggestions are welcome :)

Contributors

zapads

22 commits

relaxo-player/TivySkip-extension

Web Extension effectively adblocks and auto skips ads on any live TV video that has a broadcast logo. So you never have to see linear ads or remember to unmute after ads are over.

0

stars

22

commits

May 20, 2026

updated

README

TivySkip Logo

TivySkip - Web Extension

TivySkip is a Live TV Adblocker that fast-forwards over ads on any live TV video stream. It auto mutes the tab and blocks the ads, skipping them along if possible.

Who is this for?

For people who watch broadcast IPTV streams on random websites and are tired of having to mute loud commercials in real-time - always forgetting to unmute as the adbreak finishes.

TivySkip automates adblocking so you no longer have to endure ads or remember to unmute annoying sounds ever again.

[!NOTE]

Auto adblock requires a video stream with constant static broadcast logo over content

Table of Contents

Demo

https://github.com/user-attachments/assets/f7b1dacc-8806-4786-b7dd-553627c206e2

Watch the demo

Fallback Tab Demo - Replaces ads with paused up media from another tab

https://github.com/user-attachments/assets/597b0890-1640-48a8-845f-ab834d8ca0cf

Screenshots

Instant Adblock

skipping

Advert Detected

More Screenshots

Auto calibrate

manual calibrate

missing

commercial-in-progress

waiting

blur peek

sleep

sleep over

settings

latest setting

Install

Install Latest Version from store:

Manual Install

See all the releases

Install Pre-release Temporarily
  1. Add the extension as a temporary addon by navigating to "about:debugging"
  2. Click on "This Firefox" and "Load Temporary Add-on..."
  3. Navigate to the folder where the extension is saved and double click on any file inside of the folder to import the addon

Unfortunately you will have to do this each time you restart firefox

Install Pre-release Permanently

With supported version of firefox nightly or developer, you can install the unsigned pre-release extension permanently by following these steps:

  1. Navigate to "about:config"
  2. Type "xpinstall.signatures.required" into the text field that shows up and set the value to "false"
  3. Navigate to "about:addons"
  4. Click on the little cog wheel icon and "Install Addon from file..."
  5. Select the folder and you are done

This way you will not have to reinstall the extension each time you restart your browser.

Getting started

  • Navigate to a page where live broadcast TV is playing in a basic <video/>
  • Click on the TivySkip button in the extension toolbar and click Start Adblocking.
  • Notice the video frames being edge traced in the viewbox and see how it automatically detects the broadcast logo of the video and how accurately it redetects each few seconds.
  • Drag the mouse in the viewbox to manually highlight the exact base logo if needed
  • Enable all AdSkip settings for best results (only work well if video has timebar) or none if you just want simple live adblocking with muted blackout overlay

Additional notes

  • Designed for one primary stream and one Fallback Tab max
    • we suggest you find content without ads to use as fallback media (replace ads with anything by selecting a tab to be the fallback tab). and only use one main browser window

[!WARNING]

Multiple streams cannot be adblocked at the same time yet.

Embedded iframe video may have issues:

This extension works best on any page with a <video/> tag and in a limited way for embedded <iframe/> live videos.

  • Adskipping unavailable inside iframes, only default auto blockout available.
  • Press go to iframe button or try right-click the video to "load just the target iframe" in it's own tab so extension can better detect and manipulate the true <video/>
  • if you must use iframe, don't scroll the page away from video playing as the extension is taking screenshots of the visible page to do regular logo matching.

How it works

  1. Once a video becomes audible the extension auto discovers broadcast logos in the live feed
  2. When the logo disappears for more than a few seconds we assume ads are playing
  3. The tab is then muted and an interactive blackout overlay applied to the video area for the duration of the adbreak
  4. Ads are skipped along if possible until logo returns and blackout/mute is reversed.

Caveats

  1. You may need to manually engage the blockout overlay Key A if the logo is not immediately shown at the start of your stream (you began into ads)
    • saved logos are coming soon to make the start of streams less painful on your favorite channels but for now each page load requires rebuilding the logo mask.
  2. After 20 seconds of content most logos are auto discovered nicely you can expect total handsfree adblocking.
    • Look for eyes emoji over extension icon to signal active watching
  3. Small or transparent logos can trigger adblock false positives if not matching well
    • ensure a strong static part of the logo is the mask being matched by click+drag over it in viewfinder (above 50px average should be enough)
  4. Smart Timers form the foundation of this extension, toggle them into or out of any state by using the toggles shown in top right of extension dropdown or keyboard shortcuts.
    • Sleep timer: puts the tab to sleep after a while
    • pause timer: unpauses after timeout
    • mute timeout (Key Q): for muting annoying sounds temporiliy, unmutes after timeout finishes
    • adblock blackout overlay timer (Key A): removes the blackout after timeout
    • system respite (Key Z): disallows any auto triggers until timeout ends, prevents false positives.

[!NOTE]

No external API calls or AI is used, and no login required. Extension uses a light weight built-in computer vision library ~ 180MB RAM, 0.5% CPU. All skips and changes to the timeline are reversible via browser notifications or undo button in ext dropdown.

This system is extremely accurate for solid logos and works very well for transparent logos (change sensitivity to low if not working well or use Key Z for occasional respite from false positives).

FAQ

Does auto adblocking work on recorded streams?

yes, so long as there is a static logo present over content and not over ads. This extension was designed for actual live TV but it also works great with pre-recorded streams as tested with Jellyfin web player. It would need to because rewinding is effectively a recorded stream at that point.

Does adskip work on recorded streams?

yes, as long there is a timeline you can skip around and the video player on the page isn't inside an iframe we can skip around just as a user would.

How Our AdSkip Works

You start watching live TV normally. When ads happen there is no forward buffer available to skip through so the extension smartly manages this cache for you.

  1. Rapid Rewind 3-5 minutes to build up enough buffer
    • The user sees the same content they just saw on the screen replay without sound
    • If that is undesirable:
      • disable Rapid Rewind, or
      • set a Fallback Tab to briefly play other content, or
      • look away during this rewind/replay time, or
      • click the notification or open extension to "UNDO REWIND"
  2. Now after a few mins with enough buffer built up AdSkip can fast forward over the entire ad break until the start of the next content block.
    • if watching Picture-in-Picture notice that very little ad visuals had to be endured compared to basic ad muting.
    • "UNDO FAST FORWARD" via notification or in extension drop down
  3. At the point where content returns we can do a strategic Temporary Pause (optional) for a few mins thereby building up even more time buffer so that Rapid Rewind is not needed as much next adbreak:
    • The user does not have to wait for pause timer to complete, here the user can simply press play when ready and endure slightly more/less rewind time next adbreak to his liking.

This way you can get up and do what you like during ads and generally come back to a player that is ready for you to press play. It also means two blocks of content can play back-to-back for better immersion and less cliff hangers. But it always catches up to live eventually and we display your "Behind Live" time after every unpause. Alternatively you can simply pause for a very long time (15 minutes) at the start to get maximum adskip over an hour but you risk losing the cached up content to streaming/buffering/page load issues and you need to trust the player does not force catchup to most live point in stream.

Release notes

1.1.3

* FIXED: auto adblock: video inside iframe logo watching now working 
* auto adblocking iframe: large central blackout circle added to obscure ads better
* keyboard shortcuts remain active on return to that url host (once tab is audible)

1.1.2

* More accurate blackout overlay for iframes
* Better keyboard shortcuts for manual activation and timer adjustment.
* Improvements to auto pause buffer build up timer feature

1.1.1

* "Mute on fullscreen exit" setting - for manual adblocking when auto is unavailable
* Better sleep timer defaults
* Renamed extension to "TivySkip" as Mute Buddy was underselling the main capabilities of the extension
* Better false positive logo drop detection
* Faster ad skipping

Can't I Just mute ads and skip around myself?

Sure, though we've automated it into a cohesive extension so no need to focus and work so hard every 8-12 minutes. You can start watching right away and regularly ingest 24 minutes of content at once just by waiting occasionally.

Here's what we've automated for you:

  • Muting and unmuting ads - and blacks out the feed during ads, showing estimated time remaining if you wiggle the mouse or tap the overlay
  • Fastforwarding ads or pausing & rewinding a bit - builds up video cache for more immersive viewing without showing advert visuals while in PnP mode
  • Switching tabs during ads, briefly playing whatever substitute content is desired and pausing it so you come back it where you were next adbreak.

TivySkip Alternatives

https://github.com/RG-O/YoutubeOverCommercials - Live Commercial Blocker - latches on to single pixel of solid logo only reliable for some sports not all regular TV with semi-transparent logos

https://github.com/jrauser/hush - manual AI training required to tell it what regular content style looks like, heavy on resources and requires companion to install on PC. Not limited to broadcast TV though.

Websites/projects compatible with TivySkip

  • Jellyfin IPTV web player
  • tvpass(dot)org and pleyr.net
  • Popular iptv streaming players like jplayer etc.
  • pretty much any video library the page uses with or without the timeline available so long as it uses the standard <video/> tag and is not inside an <iFrame/>

Suggestions are welcome :)

Contributors

zapads

22 commits