YouTube Speed Control & A-B Loop: Chrome Extension for Enhanced Video Playback

Tech Stack:
Chrome Extension JavaScript YouTube API Web Development

A Chrome extension that adds custom speed controls (60%-90%) and A-B loop functionality directly to YouTube's video player

YouTube Speed Control & A-B Loop: Chrome Extension for Enhanced Video Playback

Project Overview

YouTube Speed Control & A-B Loop is a Chrome extension that enhances the YouTube viewing experience by adding custom speed control buttons and A-B loop functionality directly to the video player interface. Published on the Chrome Web Store, this extension provides quick access to commonly used playback speeds (60%, 70%, 75%, 80%, 90%, 100%) and allows users to loop specific sections of videos for learning and practice purposes.

YouTube Speed Control Interface

Tech Stack

  • JavaScript (ES6+)
  • Chrome Extension API (Manifest V3)
  • CSS3 for UI styling
  • Chrome Storage API for persistence
  • YouTube DOM manipulation

Key Challenges

  • Dynamic YouTube Interface: YouTube’s constantly changing DOM structure and single-page application navigation required robust element detection and re-injection strategies
  • Player Integration: Seamlessly integrating custom controls with YouTube’s existing player without breaking functionality
  • Cross-Video Persistence: Maintaining speed settings and A-B loop state across video navigation without page refreshes
  • Performance Optimization: Ensuring the extension doesn’t impact YouTube’s performance while monitoring for DOM changes

Solutions

Robust DOM Integration:

  • Implemented a mutation observer to detect YouTube’s dynamic content changes
  • Created a polling mechanism to ensure controls remain visible during navigation
  • Developed smart positioning logic that adapts to different player modes (theater, fullscreen, embedded)

Persistent State Management:

  • Utilized Chrome Storage API to remember user preferences across sessions
  • Implemented automatic speed application to new videos based on saved preferences
  • Created state synchronization between the extension popup and content script

A-B Loop Functionality:

  • Built a precise timing system using keyboard shortcuts (A and B keys) to set loop points
  • Implemented smooth looping with minimal audio/video interruption
  • Added visual indicators to show active loop points and status

User Experience Enhancement:

  • Designed controls that integrate seamlessly with YouTube’s native interface
  • Added hover effects and visual feedback for better usability
  • Created an informative popup with usage instructions and quick controls

Features & Innovation

  • Custom Speed Controls: Six preset speeds (60%, 70%, 75%, 80%, 90%, 100%) for precise playback control
  • A-B Loop Functionality: Set start (A) and end (B) points to loop specific video sections
  • Persistent Settings: Automatically applies last used speed to new videos
  • Keyboard Shortcuts: Quick A-B loop control using keyboard (A/B keys to set points, L to toggle loop)
  • Visual Integration: Controls appear alongside YouTube’s native player controls
  • Cross-Platform Support: Works on Chrome, Edge, Opera, and Brave browsers

Impact & Results

  • Published on Chrome Web Store: Available to millions of Chrome users globally
  • Enhanced Learning Experience: Particularly useful for educational content, music practice, and language learning
  • Improved Accessibility: Provides speed options not available in YouTube’s default interface
  • Zero Performance Impact: Lightweight implementation that doesn’t affect YouTube’s loading speed

Technical Implementation

Content Script Architecture:

  • Modular design with separate functions for speed control and A-B loop features
  • Event-driven architecture that responds to YouTube’s navigation changes
  • Efficient DOM querying with fallback strategies for different YouTube layouts

Extension Popup Interface:

  • Clean, intuitive design matching YouTube’s visual style
  • Real-time status updates showing current speed and loop state
  • Quick action buttons for common tasks (reset speed, clear loops)

Lessons Learned

  • Gained expertise in Chrome Extension development with Manifest V3 migration
  • Mastered complex DOM manipulation in dynamic single-page applications
  • Learned to handle YouTube’s frequent interface updates and maintain compatibility
  • Developed skills in creating user-friendly browser extensions with minimal permissions
  • Understood the importance of thorough testing across different YouTube viewing modes

User Feedback & Adoption

  • Successfully published and maintained on Chrome Web Store
  • Designed for users who need precise speed control for learning and practice
  • Addresses gap in YouTube’s native speed options (missing common speeds like 75% and 80%)
  • Positive reception from users requiring A-B loop functionality for music practice

Attachments

Extension in Action — Speed Controls

Speed Control Buttons

A-B Loop Interface

A-B Loop Functionality

Extension Popup Interface

Extension Popup Settings

Chrome Web Store: YouTube Speed Control & A-B Loop