Open-source project
Andrews54757/FastStream avatar
Andrews54757/FastStream

FastStream: a browser extension that replaces every video player

Stream videos without buffering in the browser. An extension that gives you a better, accessible video player designed for your needs.

1,009 stars84 forksJavaScriptNOASSERTION

At a glance

What is it?
FastStream is a Chrome and Firefox extension that swaps the video element on a page for its own player, pre-buffering in parallel requests and adding subtitles, audio processing and accessibility controls. It ships no telemetry and works offline, but it deliberately skips live streams and DRM content.
Who is it for?
FastStream fits a viewer on a slow connection who wants the video to keep playing, and a viewer who needs subtitle timing, an equalizer or colour vision adjustments that the site player does not offer, and it is built for desktop Chrome or Firefox. It does not fit a live stream viewer, a DRM title, a mobile user, or anyone who needs the extension to come from a normal store install on every browser.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 15 days ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What the extension actually replaces

FastStream is a browser extension with a custom video player built in, and the point of it is that the player you get is not the one the site shipped. When the extension is toggled on, any video it detects on the page is replaced with the FastStream player, and the same player can be opened on its own from a new tab, where a Sources Browser lists media detected in your other tabs. The other entry point is a URL: navigate straight to a stream manifest, an m3u8 or an mpd file, and it starts playing. The project targets the case where a site player stutters on a slow connection or offers no subtitle controls, an equalizer or colour adjustments, and the README is explicit that accessibility is treated as a feature request channel with the issue tracker rather than as a nice-to-have.

Pre-buffering with fragmented parallel requests

The buffering answer is mechanical rather than clever. The player splits the media into fragments and requests them in parallel, and the README claims up to six times faster download speeds compared with a sequential player. The cost of that strategy is disk. The default maximum size for pre-buffering is 5GB and it can be changed on the settings page, and the README warns that browsers offload data from RAM to the SSD when a video is too large to hold in memory, and that frequently pre-buffering large videos can reduce the lifespan of an SSD. That is the trade an adopting user has to make explicitly: a pause button that never stalls, bought with local storage churn on a machine that may not be a desktop.

Subtitles from OpenSubtitles and a live sync tool

Subtitle handling is the deepest part of the feature set. The appearance of the subtitles is customisable, the player can search OpenSubtitles for a track for the title you are watching, and a sync tool lets you adjust the timing of a subtitle on the fly while the video plays, which is the feature that rescues a badly timed fan subtitle. Two of these capabilities are unavailable in the browser demo, since OpenSubtitles lookups and the header override need the extension installed, because the demo runs as a plain web page rather than with the extension context. The demo is still a reasonable first look, and the README links a public player with a well known test stream:

bash
https://faststream.online/player/#https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8

That page plays a test stream without installing anything, which is the quickest way to judge the interface before adding an extension to your browser.

Audio processing, video adjustments and keyboard control

The player exposes the controls that streaming sites usually leave out. On the audio side there is an equalizer, a compressor, a mixer, a mono mode and a volume booster, and on the picture side brightness, contrast and hue adjustments plus LMS daltonization for colour blindness. Control is designed around the keyboard, with more than twenty remappable keybinds and tool buttons that are themselves accessible, and the interface has been translated into Spanish, Japanese, Russian, Malay and Italian by the community, with more languages promised. Local video files work too, since the player accepts a file dropped onto it, which is a small feature that makes the extension useful for checking a local render without uploading it anywhere.

Why the distribution story is uneven

The extension is in the Chrome Web Store, and there the policy has a direct cost: Chrome does not allow extensions that download videos from YouTube, so a store install of FastStream cannot save YouTube videos, and the restricted features require a manual installation instead. Firefox is the harder case. The README states plainly that the extension is not in the Firefox add-ons store, because Mozilla now requires developers to ship official release versions of third-party dependencies. FastStream relies on heavily customised versions of hls.js, dash.js and youtube.js that carry project-specific code and live on the author GitHub rather than as upstream releases, and the README describes working with the original developers while acknowledging that the policy is unlikely to bend. The result is a Firefox build that has to be installed by hand.

The YouTube breakage and how to work around it

YouTube is the fragile case, and the README does not pretend otherwise. The project attributes failures to an ongoing effort by Google to thwart third-party clients and adblockers, and it points users at the issue tracker rather than pretending the problem is solved. The troubleshooting path is short: make sure the installed version is the latest one, clear the browser cache and reinstall the extension, then search the issue tracker, and add the details of your case to an existing report or open a new one with as much detail as possible. Two other sources of friction follow from the same design. Livestreams are not supported and the README says they will not be in the near future, and DRM protected content will not play, which the project calls intended.

What the project will not attempt

The stated boundaries are worth more than the feature list when you are deciding. There are no plans for mobile support, and the reason given is candid: developing for desktop Chrome and Firefox is already exhausting for what the author describes as a college-student programming hobby, and adding mobile on top of that is more work than one person can absorb. Browser coverage is Chrome and Firefox, with other Chromium browsers such as Edge likely to work. The extension is also still described as a work in progress, with bugs expected and a request to report them. On the privacy side the position is the opposite of most extensions: no telemetry is collected, no additional resources are fetched from the internet, and the player works fully offline, with the codebase open for reading.

Build scripts, tests and the release cadence

The repository is a normal JavaScript project with a small dependency footprint, and the tooling is in package.json. The test script runs the Node built-in test runner over the files in the tests/ directory, and the build script regenerates the locales before the build step, while separate scripts generate, combine and split the locale files, which matters for a project shipping five community translations plus a combined-locales.json. The development dependencies are linting tools configured in the Google style, and web-ext for the Firefox packaging. The release history shows how the two platforms move at different speeds: V1.3.76 on 2026-03-17 for Chrome, V1.3.77 on 2026-07-01 for Chrome, and V1.3.78 on 2026-10-09 for both Chrome and Firefox, with the last push on the same day as that release.

Editorial conclusion

FastStream fits a viewer on a slow connection who wants the video to keep playing, and a viewer who needs subtitle timing, an equalizer or colour vision adjustments that the site player does not offer, and it is built for desktop Chrome or Firefox. It does not fit a live stream viewer, a DRM title, a mobile user, or anyone who needs the extension to come from a normal store install on every browser. Before adopting it, read LICENSE.md, since the project ships a custom licence that GitHub cannot categorise, and check whether your platform will give you a store build, because the Firefox distribution currently depends on manual installation.

Frequently asked questions

Does FastStream support live streams?

No. The README states that livestreams are not supported and will not be supported in the near future, so a live source will not play in the player.

Can FastStream play DRM protected video?

No, and the project says this is intended. The README also asks that the tool not be used to infringe copyright.

Why is FastStream not available from the Firefox add-ons store?

Mozilla now requires extensions to use official release versions of third-party dependencies. FastStream relies on heavily customised builds of hls.js, dash.js and youtube.js, so only a manual installation is currently possible.

How much disk space does FastStream pre-buffering use?

The default maximum is 5GB and it is configurable on the settings page. The README warns that browsers offload data from RAM to the SSD for large videos and that frequent pre-buffering can reduce SSD lifespan.

Does FastStream collect telemetry or need an internet connection?

No. The extension collects no telemetry, requests no additional resources from the internet and works fully offline, and the codebase is open for review on GitHub.

Which video formats can the FastStream player handle?

MP4 files, HLS streams in the m3u8 form, DASH streams in the mpd form, plus YouTube, where downloading is blocked for store installs of the Chrome extension under the Web Store policy.

Official sources

  1. Andrews54757/FastStream on GitHub
  2. Issues
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/andrews54757-faststream.svg)](https://hysenlabs.com/projects/andrews54757-faststream)

Was this useful?