# igrigorik/videospeed

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/igrigorik-videospeed).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

4,364 stars · 689 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/igrigorik/videospeed
- Homepage: https://chrome.google.com/webstore/detail/video-speed-controller/nffaoalbilbmmfgbnbgppjihopabppdk
- awesome-repositories: https://awesome-repositories.com/repository/igrigorik-videospeed.md

## Description

This is a Chrome browser extension that serves as an HTML5 video speed controller and media playback speed manager. It is designed to adjust the playback rate of video and audio elements across any website and provide a utility for navigating media timelines.

The tool features a dedicated interface for mapping custom keyboard shortcuts to control playback and timeline navigation. It allows for the creation of domain-specific playback rules to set default speeds or disable the controller on specific websites, and it includes a mechanism to persist selected speeds when native players attempt to reset them.

The project covers media timeline navigation via fixed increments and markers, as well as visual customization for the on-screen speed indicator.

## Tags

### Graphics & Multimedia

- [Browser-Based Video Playback Controls](https://awesome-repositories.com/f/graphics-multimedia/browser-based-video-playback-controls.md) — Manipulates HTML5 video element properties to adjust playback speed across any website.
- [Playback Speed Controllers](https://awesome-repositories.com/f/graphics-multimedia/playback-speed-controllers.md) — Manages playback rates for HTML5 media using a combination of speed controls and domain rules.
- [Media Playback Controls](https://awesome-repositories.com/f/graphics-multimedia/media-playback-controls.md) — Provides a utility for rewinding, advancing, and marking positions within HTML5 media timelines.
- [Media Timeline Navigation Tools](https://awesome-repositories.com/f/graphics-multimedia/media-timeline-navigation-tools.md) — Using custom increments and markers to jump through media timelines more accurately than native player controls.
- [Domain-Specific Rules](https://awesome-repositories.com/f/graphics-multimedia/playback-speed-controllers/domain-specific-rules.md) — Provides the ability to set default playback speeds or disable the controller for specific websites. ([source](https://cdn.jsdelivr.net/gh/igrigorik/videospeed@master/README.md))
- [Playback Speed Persistence](https://awesome-repositories.com/f/graphics-multimedia/playback-speed-controllers/playback-speed-persistence.md) — Automatically re-applies the selected playback speed when native media players attempt to reset the rate. ([source](https://cdn.jsdelivr.net/gh/igrigorik/videospeed@master/README.md))
- [Web Media Playback Automation](https://awesome-repositories.com/f/graphics-multimedia/web-media-playback-automation.md) — Automates preferences by setting default speeds or disabling controls based on the website domain.

### User Interface & Experience

- [Keyboard Shortcut Mapping](https://awesome-repositories.com/f/user-interface-experience/visual-theme-configurations/visual-themes/keyboard-shortcut-mapping.md) — Allows users to redefine keyboard shortcuts to control media playback and timeline navigation.

### Web Development

- [Chrome Extensions](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-extension-development/browser-extensions/chrome-extensions.md) — Built as a Chrome browser extension to modify web page behavior and media playback.
- [Media](https://awesome-repositories.com/f/web-development/frontend-development-tools/frontend-frameworks/directives/property-bindings/media.md) — Modifies the playbackRate property of HTMLMediaElement objects to control the speed of browser media players.
- [Global Keyboard Event Listeners](https://awesome-repositories.com/f/web-development/global-keyboard-event-listeners.md) — Uses global keyboard listeners to intercept keystrokes and trigger media playback and navigation functions.
- [Domain-Based Configuration Rules](https://awesome-repositories.com/f/web-development/domain-based-configuration-rules.md) — Allows users to define custom playback speeds or disable the extension for specific websites based on their domain.

### Software Engineering & Architecture

- [State Persistence Enforcement](https://awesome-repositories.com/f/software-engineering-architecture/state-persistence-enforcement.md) — Periodically restores the selected playback speed to prevent native player scripts from resetting it to default.
