Skip to content

About

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

Resources

Code of conduct

Stars

2 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

2,858 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logotext1

FastStream

Tired of having videos buffer with slow internet speeds? Frustrated by a website's lack of accessibility features? This extension will replace videos on websites with a video player designed for your convenience. Say goodbye to buffering and hello to a more accessible video experience!

This is a Firefox-only fork of Andrews54757/FastStream, maintained by Nawid3333 on its own since 2026-10-09 (it no longer follows upstream). It adds a hand-off to the mpv player and leaves out upstream's YouTube support.

  1. Watch videos without interruptions by pre-buffering the video in the background. Automatic fragmentation and up to 6 parallel requests make downloads faster.
  2. Advanced subtitling features include: customizable subtitle appearance, built-in OpenSubtitles support to find subtitles on the internet, and an intuitive subtitle syncing tool to adjust subtitle timings on the fly.
  3. A volume booster past 100 %, and the picture zoomed, flipped or rotated.
  4. Over 60 remappable keyboard shortcuts (mpv-style seeks, frame steps and speed presets among them) and accessible tool buttons for easy control of the player. The welcome page lists the defaults.
  5. Available in 16 languages.
  6. Optional: send a stream to mpv on your computer instead of playing it in the browser. It needs a small helper installed once. On Windows, one line in PowerShell installs mpv, the helper and this add-on: irm https://raw.githubusercontent.com/Nawid3333/mpv-config/main/installer/setup.ps1 | iex (from mpv-config; it needs no admin rights, no Git and no Node.js). Then restart Firefox, turn on MPV mode in FastStream's settings, and add the sites whose videos should open in mpv to its MPV Allowlist (on any other site, the MPV shortcut, Alt+F, sends the video you start). The manual way, for developers and other setups, is in README-MPV.md.

The player currently supports:

  • MP4 videos (.mp4)
  • HLS streams (.m3u8)
  • DASH streams (.mpd)

To use the player, simply:

  1. Go to any website you want with a video and toggle the extension on. Any video it detects will be automatically replaced with the FastStream player.
  2. Alternatively, turn on "Use player to play HLS/DASH streams when opening playlist URLs" in the options, then click on or navigate to a stream manifest file (m3u8/mpd) to play it (off by default; the option below it does the same for .mp4 links).
  3. Navigate to a new tab and press the extension icon to go to the player. Play sources detected on other tabs through the Sources Browser. You can also drag and drop video files from your computer.

Notes:

  • Live HLS and DASH streams play.
  • This player will not function with DRM protected content. This is intended. Please be mindful of how you use this tool. FastStream should not be used to infringe copyright.
  • Please report bugs, accessibility problems and feature requests on the issue tracker: https://github.com/Nawid3333/FastStream/issues
  • For your privacy, this extension does not collect telemetry and has no server of its own. Besides the sites whose videos you play, it connects only to OpenSubtitles when you search for subtitles, and to GitHub for updates. Everything it runs ships inside the add-on. The details, permission by permission, are in docs/privacy-policy.md.
  • The default maximum size for predownloading is 5 GB. This can be changed in the settings page (0 = predownload nothing, empty = no limit). Where the downloaded video is kept, in RAM or on the disk, is your choice too: see RAM and disk.

RAM and disk

FastStream downloads the video ahead and keeps it until it is played. Two settings (Options > General) decide where:

  • RAM for buffered video (all tabs) - how much downloaded video is kept in RAM, for all FastStream tabs together. Default 2 GB; 0 = none; empty = no limit.
  • Keep video on disk when this RAM is full - on (default): what does not fit in that RAM is written to the disk and read from there. Off: it is let go of and downloaded again when you need it, and nothing of the buffer is written to the disk.
You want RAM for buffered video Keep video on disk
RAM first, the rest on the disk (default) e.g. 2 GB on
As little RAM as possible (a PC with 8 GB) 0 on - only the next seconds stay in RAM
No disk writes at all (to spare an SSD) as much as you can give, e.g. 4 GB off
Everything in RAM, no limit empty either

A video that fits in the RAM you gave it is never written to the disk. With the disk off and 0 RAM, nothing is kept ahead, so a video may stop to load. Private windows never write the buffer to the disk. Your watch progress and the videos you save are not the buffer: these settings do not touch them.

Browser compatibility

FastStream is built for Firefox on the desktop. Chrome and other Chromium browsers are not supported and are not tested, and there are no plans for mobile.

Installation

Download the .xpi from the Releases page and open it in Firefox (drag it into a window, or about:addons → the gear → Install Add-on From File). It needs Firefox 142 or newer. The release is signed by Mozilla for self-distribution, so it installs in an ordinary Firefox, and Firefox checks for updates by itself: every release publishes an updates.json that the extension points at.

The firefox-github-*.zip on the same page is an unsigned build for development; loading it needs Firefox Developer Edition or a temporary add-on (about:debugging).

Build Instructions

You need Node.js 22 or newer and pnpm 11.

  1. pnpm install
  2. pnpm run build
  3. The Firefox bundles and the web build are in the built directory. pnpm run build:keep also leaves the unpacked build_firefox_* directories, which web-ext run and web-ext lint need.

pnpm test runs the unit tests, pnpm run lint and pnpm run typecheck the static checks, and pnpm run verify everything, end-to-end tests included (they drive Firefox).

The web build (built/web) runs the player in an ordinary page, without OpenSubtitles or header overrides. This fork does not host it anywhere.

Credits

Many thanks to the contributors of this project.

Developers

  • Andrews54757: Lead developer
  • ChromiaCat: Update notify icon (PR #142)
  • frenicohansen: SRT/ASS subtitles to WebVTT (PR #323)
  • Mesoon5642: Options search (PR #459)
  • nonab: Fixed vimeo playback (PR #489)
  • Nawid3333: this Firefox fork

Translators

  • Dael (dael_io): Fixed Spanish translations
  • reindex-ot: Japanese translations
  • elfriob: Russian translations
  • Justryuz: Malay translations
  • CommandLeo: Italian translations
  • andercard0: Portuguese translations
  • MrMysterius: German translations

Open Source Libraries

  • hls.js: Used for HLS playback
  • dash.js: Used for DASH playback
  • mp4box.js: Used for automatic fragmentation of mp4 files
  • vtt.js: Used for parsing VTT subtitles
  • Mediabunny: Used for reading WebM and copying streams into MP4 when saving
  • And some more! docs/vendored-libraries.md lists every one, with its version and what this project changed in it.

Technical Details

CLAUDE.md holds the rules every change follows, docs/notes/ the working notes by area (conventions, tests, decisions), and docs/ the runbooks: maintenance, patched and vendored libraries, upstream syncs.

Disclaimer

While it may be possible for FastStream to save videos from any website as long as there is no DRM, that doesn't mean you have the legal right to do so if you don't own the content. Please be mindful of how you use this tool. FastStream should not be used to infringe copyright.

About

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

Resources

Code of conduct

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages