User manual

Slipstream Live watches how much video your browser has loaded ahead and nudges the playback speed so you stay close to the live edge — without the video stopping to buffer. This manual covers installation, every setting, and what to do when something looks wrong.

Version 1.1.0 YouTube Live ・ Twitch ・ TwitCasting

1 Introduction

A live stream always plays a few seconds behind what the streamer is doing right now. That gap grows every time your connection hiccups, and it never shrinks on its own.

Slipstream Live measures how much video your browser has loaded ahead — the buffer — about 50 times per second, and nudges the playback speed up or down to close the gap without letting the video stall.

SituationWhat Slipstream Live does
You're behind, and plenty of video is loaded aheadSpeeds up slightly (1.25x) until you catch up
Loaded video is nearly goneDrops to 0.15x and lowers the volume to avoid a freeze
Everything is fineNothing — plain 1.00x

Once installed, no operation is required while you watch.

2 System requirements

Manifest versionV3
Chrome / Edge / Brave and other Chromium browsersv128 or later
Mozilla Firefoxv140.0 or later
Firefox for Androidv142.0 or later
Supported sitesYouTube (including m.youtube.com and youtube-nocookie.com), Twitch (including player.twitch.tv), TwitCasting
UI languagesEnglish, 日本語, 한국어, Deutsch, Español, Français, Português (BR), 简体中文, 繁體中文 — follows your browser's language setting

3 Installation

3.1 Chrome / Edge / Brave / other Chromium browsers

Install from the Chrome Web Store.

The Slipstream Live listing on the Chrome Web Store
Fig. 1a Click Add to Chrome.

After installing, open the puzzle-piece menu in the toolbar and pin Slipstream Live so its icon is always visible.

Pinning the extension from the puzzle-piece menu in Chrome
Fig. 2a Click the pin icon next to Slipstream Live.

3.2 Firefox

Install from Firefox Add-ons.

The Slipstream Live listing on Firefox Add-ons
Fig. 1b Click Add to Firefox. The same page works on Firefox for Android (v142.0 or later).
Pinning the extension to the toolbar in Firefox
Fig. 2b Choose Pin to Toolbar from the ••• menu.

3.3 Installing from source (developers / manual installation)

Chromium browsers

  1. Download the repository as a ZIP and extract it (or git clone it).
  2. Enter chrome://extensions in the address bar.
  3. Turn on Developer mode with the toggle in the top-right corner.
  4. Click Load unpacked and select the extracted folder — the one containing manifest.json.

Firefox — temporary install (disappears when Firefox closes)

  1. Open about:debugging#/runtime/this-firefox.
  2. Click Load Temporary Add-on….
  3. Select the manifest.json file inside the extracted folder.

Firefox — permanent install (Developer Edition / Nightly only)

  1. ZIP the contents of the folder.
  2. In about:config, set xpinstall.signatures.required to false.
  3. In about:addons, click the gear icon → Install Add-on From File… → choose your ZIP.

3.4 Verifying the installation

  1. Open a live stream on YouTube, Twitch, or TwitCasting. A VOD or clip will not work.
  2. Click the Slipstream Live toolbar icon.
  3. In the All sites panel, turn on Show playback rate.
  4. A small 1.00x appears in the player's control bar, changing colour as Slipstream Live works.
A 1.00x badge in the YouTube control bar
Fig. 4 The playback rate badge in its normal state.

4 Parts of the settings screen

Click the toolbar icon to open the settings popup. The same screen can also be opened as a full tab from your browser's extensions management page (Options).

The Slipstream Live settings screen
Fig. 5 The settings screen, shown with its default values. The numbers in the table below refer to this figure.
No.PartDescription
1Icon and titleClicking the icon opens the project page. The version number is shown next to the name.
2Change playback speedThe master switch. Turning it off stops all control and all badges. Marked All sites.
3Site tabsYouTube / Twitch / TwitCasting. Each site stores its own values, and the tab for the site you are currently on is selected automatically.
4Site settings panelSpeed-up settings and maximum-slowdown settings for the selected site.
5? buttonsOpens a plain-language explanation of that row.
6Reset · (site name)Restores only the currently selected site's settings to their defaults.
7All sites panelThe three on-screen badge switches.
8Reset · All sitesRestores the all-sites settings to their defaults.
The settings screen with the Twitch tab selected
Fig. 3 Selecting a site tab switches the whole panel. The Twitch tab carries an additional note about its default threshold, and the accent colour changes with the site.
A help bubble opened from a question-mark button
Fig. 6 Clicking ? explains that row in plain language.

5 Reading the on-screen badges

All three badges are off by default. Turn them on in the All sites panel. They appear in the player's control bar; if that bar cannot be found, they fall back to a small dark strip in the top-left corner of the player.

BadgeExampleMeaning
Playback rate1.25xThe actual current speed. The text colour shows which mode is active.
Latency1.50sHow far behind the live edge you are. While you are watching behind the live edge (DVR), the number is replaced by (DVR), because a latency figure has no meaning there.
Buffer health2.50sSeconds of video loaded ahead of you. A +9s suffix means more video is loaded beyond a gap.
All three badges displayed together
Fig. 7 Left to right: playback rate, latency, buffer health.
The badges while watching behind the live edge
Fig. 7b After rewinding, the latency badge shows (DVR). Here the buffer holds 61.99 s, plus a further 9 s beyond a gap.

6 The three control modes

ModePriorityBadge colourSpeedWhen it applies
FloorHighestBlue #83c1ff0.15x (fixed)The buffer is about to run out. Emergency brake, plus volume ducking.
SpeedupLowRed #ff89831.25x (default)The buffer is comfortably deep. Catches up to the live edge.
NormalWhite #eee1.00xNothing to do.

Higher-priority modes always win. The 0.15x floor speed is deliberately not configurable — it is a safety net, not a preference.

The playback rate badge in red at 1.25x
Fig. 9 Speedup mode. Red means Slipstream Live is catching up.
The playback rate badge in blue at 0.15x
Fig. 10 Floor mode. Blue means the buffer is nearly empty and playback has been slowed to the minimum.

Each threshold carries hysteresis in the direction of the current mode, so speed and volume don't chatter when the buffer sits exactly on a boundary. The width follows the Auto-adjust buffer threshold level: 0.1 s at Off and Standard, 0.05 s at Aggressive.

What Slipstream Live leaves alone

7 Settings reference

7.1 Site settings (stored separately per site)

SettingRange / stepYouTubeTwitchTwitCastingDescription
Speed up when delayedON / OFFONONONMaster switch for catching up.
Speed-up playback rate1.05x–4.00x / 0.051.25x1.25x1.25xHow fast to catch up. Higher catches up sooner but consumes buffer faster.
Speed-up buffer threshold (sec)0.1–100.0 / 0.110.010.010.0Used only when Auto-adjust is Off. Speeds up once this much video is loaded ahead.
Auto-adjust buffer thresholdOff / Standard / AggressiveStandardStandardStandardLets Slipstream Live decide when speeding up is safe. Recommended.
Maximum slowdown on buffer depletionON / OFFONONONMaster switch for the 0.15x emergency brake.
Maximum slowdown threshold (sec)0.0–10.0 / 0.10.80
(FF 1.00)
2.00
(FF 0.50)
0.10
(FF 0.30)
Drops to 0.15x while buffer health stays below this.
Lower volume during maximum slowdownON / OFFONONONDucks the audio while at 0.15x.
Volume during maximum slowdown (%)0–100 / 5303030A percentage of your current volume. 100 = no change, 0 = mute.

FF = the default used on Firefox, which reports buffer levels differently. Note the direction is not uniform: the Firefox defaults are larger on YouTube and TwitCasting, but smaller on Twitch.

Why is Twitch's threshold so much higher? Twitch sometimes stops delivering video for around 10 seconds at a time. The larger default gives Slipstream Live room to react before playback actually stalls.

7.2 The three auto-adjust levels

LevelTrough windowSafety factorAdded marginHysteresisCharacter
Off0.1 sNo estimation; uses Speed-up buffer threshold as-is.
Standard30 s50.3 s0.1 sLong window, large factor — cautious. The default.
Aggressive5 s30.1 s0.05 sShort window; reacts quickly to recent headroom and closes the gap harder.
The three-step slider showing its tooltip
Fig. 11 Drag the slider to choose a level; the name appears next to the pointer.

7.3 All-sites settings

SettingDefaultDescription
Change playback speedONMaster switch. Off = Slipstream Live does nothing at all.
Show playback rateOFFShows the speed badge in the player.
Show latencyOFFShows how far behind the live edge you are.
Show buffer healthOFFShows how many seconds are loaded ahead.

8 How it works

Every 20 milliseconds Slipstream Live measures buffer health — how many seconds of video are loaded and ready to play — and picks one of the three modes from that number.

The hard part is knowing when speeding up is safe. Buffer health is never steady: video arrives in chunks ("segments"), so the buffer jumps when a chunk lands and then drains until the next one. Plotted over time it looks like a sawtooth. A single reading taken at a peak would suggest plenty of room, leading to a speed-up that hits the very next trough with nothing left.

So instead of trusting one reading, Slipstream Live estimates statistically where the troughs are, over a window that adapts to each stream, and only allows a speed-up while that estimated headroom stays above the buffer level you have asked it to protect. Because the safety factor is large, headroom only opens up when the troughs are consistent — an unstable connection naturally suppresses speed-ups, and while there isn't enough data yet, Slipstream Live simply does nothing.

One shortcut sits above that test. Once buffer health passes 20 seconds — or your maximum slowdown threshold plus 10 seconds, whichever is higher — the trough estimate is no longer what limits the decision, so Slipstream Live speeds up without waiting for it, and returns to the statistical test below 15 seconds. This is what keeps it responsive right after you seek, when the buffer refills so quickly that the statistics are temporarily unusable. The shortcut applies to the automatic levels only.

Badges are redrawn at most 10 times per second and all statistics are smoothed, so the speed does not visibly oscillate. When there is nothing to control, the loop drops to a 1-second search mode and then stops entirely, waking on media events or when the tab becomes visible again.

The full derivation — including how the trough is located without knowing the segment length — is in the project README.

9 Troubleshooting

It never speeds up.

Auto-adjust is deliberately cautious: on an unstable connection it decides that speeding up isn't safe. Try Auto-adjust buffer thresholdAggressive first. If that still isn't enough, set it to Off and configure Speed-up buffer threshold (sec) manually — start around 15–20 seconds and work down.

It sits at 1.00x right after seeking, even with plenty of video buffered.

Make sure you are on version 1.1.0 or later. From that version, buffer health above 20 seconds allows a speed-up on its own, without waiting for the trough statistics — which the burst of fast loading that follows a seek would otherwise keep unusable for a while.

It drops to 0.15x too often.

Raise the manual threshold, or lower Speed-up playback rate so the buffer drains more slowly. Lowering Maximum slowdown threshold (sec) delays the brake, but increases the chance of an actual freeze.

Nothing happens at all.

Check that Change playback speed is ON, that you are on a live stream rather than a VOD or clip, and that you haven't selected a manual playback speed in the player's own menu.

Nothing happens on TwitCasting.

Check whether the stream is playing in low-latency mode. Low-latency streams arrive over WebRTC and are outside Slipstream Live's scope — turn low latency off in the player settings if you want Slipstream Live to manage the stream.

The badges don't appear.

They are off by default — turn them on in the All sites panel. If a site's control bar cannot be found, the badges fall back to a small dark strip in the top-left corner of the player.

Twitch video freezes or shows an error (unrelated to Slipstream Live).

Slipstream Live only adjusts playback speed, so a complete stop or an "Error #XXXX" code is almost always a Twitch or browser issue. Try these in order:

  1. Check status.twitch.com for an ongoing outage.
  2. Open the same stream in an Incognito window (Ctrl+Shift+N, Cmd+Shift+N on Mac). If that fixes it, the cause is an extension or cached data.
  3. Turn off all extensions, especially ad blockers — Twitch embeds ads directly into the video stream, so ad blockers are one of the most common causes of playback errors.
  4. Update Chrome via chrome://settings/help. Official support covers only the two most recent versions.
  5. Clear cache and cookies with Ctrl+Shift+Delete (Cmd+Shift+Delete on Mac).

If the screen still freezes or goes black, toggle Hardware acceleration in chrome://settings/system and restart the browser. Switch it back if it doesn't help — this is a diagnostic step, not a setting to leave changed.

Twitch's own resources are worth a look too: Playback Issue Troubleshooting, Supported Browsers, How to File a Video Playback Issue.

10 Collecting a debug log

If you need to report a problem, a debug log makes it far easier to diagnose.

  1. Open the stream page and press F12 to open the browser console — the page console, not the extension's own console.
  2. Run the line below.
  3. Wait about 30 seconds while the problem is happening, then copy the output.
window.__slipstreamliveDebug = true;

Once per second you will see the current mode, the real playback rate, buffer health, the short-term and trough statistics, the room calculation, the shortcut level ample, the accumulated excess consumption drift, and the stationarity verdict calm.

11 Privacy

Slipstream Live makes no network requests whatsoever. It requests only two permissions:

No analytics, no telemetry, no identifiers, no ads. Full details are in the privacy policy.

12 Support

PurposeWhere
Bug reportsGitHub Issues — use the bug report template
Questions, feature requests, site support requests, translation feedbackGitHub Discussions
Security vulnerabilitiesGitHub Security Advisories — report privately

Please report vulnerabilities privately. A public issue is effectively a published exploit.

When reporting a bug, please include: the site, browser and version, extension version, OS, what happened, steps to reproduce, any settings changed from the defaults, and a debug log if possible.

13 License

Dual-licensed under the Apache License 2.0 or the MIT License, at your option.