{"id":29643854,"url":"https://github.com/alexplast/youtube-speedx","last_synced_at":"2026-05-05T08:38:10.635Z","repository":{"id":305477571,"uuid":"1016003975","full_name":"alexplast/youtube-speedx","owner":"alexplast","description":"A userscript to control video playback speed, resolution, and codecs across multiple platforms.","archived":false,"fork":false,"pushed_at":"2025-07-20T09:30:24.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-20T11:24:38.522Z","etag":null,"topics":["javascript","playback-speed","productivity","tampermonkey","userscript","violentmonkey","youtube"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexplast.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-08T10:49:32.000Z","updated_at":"2025-07-20T09:24:03.000Z","dependencies_parsed_at":"2025-07-20T11:35:49.396Z","dependency_job_id":null,"html_url":"https://github.com/alexplast/youtube-speedx","commit_stats":null,"previous_names":["alexplast/youtube-speedx"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/alexplast/youtube-speedx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexplast%2Fyoutube-speedx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexplast%2Fyoutube-speedx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexplast%2Fyoutube-speedx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexplast%2Fyoutube-speedx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexplast","download_url":"https://codeload.github.com/alexplast/youtube-speedx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexplast%2Fyoutube-speedx/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266404492,"owners_count":23923447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","playback-speed","productivity","tampermonkey","userscript","violentmonkey","youtube"],"created_at":"2025-07-22T00:01:42.573Z","updated_at":"2026-05-05T08:38:10.626Z","avatar_url":"https://github.com/alexplast.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YouTube SpeedX\n\n![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)\n![Version](https://img.shields.io/badge/Version-3.0.0-blue)\n[![Install](https://img.shields.io/badge/Install%20directly-brightgreen?style=flat\u0026logo=tampermonkey)](https://raw.githubusercontent.com/alexplast/youtube-speedx/main/dist/youtubespeedx.userscript.js)\n\nA userscript to enhance your video viewing experience with custom speed, resolution control, and improved performance, all managed through a polished and user-friendly settings menu.\n\n![YouTube SpeedX Settings Menu](https://github.com/user-attachments/assets/9ba0cb9c-37bf-45c7-8200-918e43cb480c)\n\n## ✨ Features\n\n- **Polished Settings Menu:** Easily configure the script through a professional UI, accessible directly from the YouTube player's settings menu or via hotkey (`Ctrl + Alt + S`).\n- **Custom Default Speed:** Set any default playback speed you like, without floating-point errors.\n- **Consistent Speed Rounding:** Speeds are normalized to 2 decimal places (e.g., `1.25`, `1.30`, `1.35`).\n- **Speed Boost:** Temporarily accelerate video playback by holding a hotkey. The boost speed can be adjusted on-the-fly using the standard speed hotkeys or by pressing a number key (`1-9`).\n- **Fullscreen Progress Bar:** Displays a subtle 1px progress bar at the bottom of the screen when in fullscreen with the UI hidden.\n- **Customizable Speed Step:** Configure the increment/decrement value for speed changes in the settings menu.\n- **Smart FPS Control:** Set a maximum resolution for 60 FPS videos (e.g., limit to 1080p60 or 720p60) or disable them completely to match your hardware's capabilities. Resolution hotkeys respect this filter.\n- **Dropdown for Resolution:** Choose your preferred default resolution from a clean dropdown list.\n- **Persistent Settings:** Remembers your speed, resolution, and feature choices.\n- **Customizable Hotkeys:** Reliably change the hotkeys for all actions using their physical location on the keyboard (`event.code`).\n- **Force H.264 Codec:** Toggle the use of the H.264 video codec to reduce CPU usage and improve battery life on supported hardware.\n- **Native UI Feedback:** Uses YouTube's built-in on-screen display for speed and resolution changes, with a pixel-perfect custom display for speeds above 2x.\n- **Multi-Platform Support:** Works on YouTube, RuTube, Smotrim, Ivi, Twitch, VK Video, Telegram Web, and Yandex.Disk.\n\n## 🚀 Installation\n\n1.  Install a userscript manager extension for your browser, such as:\n    - [Tampermonkey](https://www.tampermonkey.net/) (Recommended)\n    - [Violentmonkey](https://violentmonkey.github.io/)\n2.  **[Click here to install the script](https://raw.githubusercontent.com/alexplast/youtube-speedx/main/dist/youtubespeedx.userscript.js)** (standard)\n3.  Optional: **[install the minified version](https://raw.githubusercontent.com/alexplast/youtube-speedx/main/dist/youtubespeedx.userscript.min.js)** (smaller, harder to debug)\n    *After clicking the link, your userscript manager should open and prompt you for installation.*\n\n### Updating from older installs (≤ 2.x)\n\nVersion `3.x` moved the install/update URL to `dist/`, so scripts installed from the old root URL will **not** auto-update.\n\nTo update:\n1. Open the new install link above.\n2. Your userscript manager should prompt to install/update the existing script.\n   - If it installs as a separate script, remove/disable the old one to avoid duplicate hotkeys.\n3. Your settings should stay (stored in `localStorage` under `ytSpeedXConfig`).\n\n## 🛠️ Usage\n\n### Settings Menu\n\nClick the settings icon (gear) in the YouTube player and select **\"YouTube SpeedX Settings\"**.\n\nAlternatively, you can press **`Ctrl + Alt + S`** (by default). From this menu, you can configure all aspects of the script, including the hotkeys themselves.\n\n### Default Hotkeys\n\nThe script uses physical key locations (`event.code`), so these hotkeys will work regardless of your keyboard layout.\n\n-   `Shift` + `\u003e`: Increase playback speed (`Period`). Seamlessly transitions to custom speeds above 2x.\n-   `Shift` + `\u003c`: Decrease playback speed (`Comma`).\n-   `B` key (hold): Temporarily activate Speed Boost (`KeyB`).\n-   `,` key: Decrease video resolution (`Comma`).\n-   `.` key: Increase video resolution (`Period`).\n-   `S` key (with `Ctrl+Alt`): Open the settings menu (`KeyS`).\n\n*Note: Hotkeys can be changed in the settings menu and will not trigger if you are typing in a text field or if the settings menu is open.*\n\n## 🤝 Contributing\n\nContributions, issues, and feature requests are welcome! Feel free to check the [issues page](https://github.com/alexplast/youtube-speedx/issues).\n\n## 📝 License\n\nThis project is [MIT](https://github.com/alexplast/youtube-speedx/blob/main/LICENSE) licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexplast%2Fyoutube-speedx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexplast%2Fyoutube-speedx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexplast%2Fyoutube-speedx/lists"}