Русский · English
Расширение для Chrome (Manifest V3), которое добавляет кнопку ▽ прямо в плеер YouTube и
позволяет скачивать открытое видео, аудио и субтитры — перехватывая поток самого плеера.
Без yt-dlp, без сторонних сайтов и серверов: вся работа происходит локально в браузере.
Поддержать меня можно на Boosty: https://boosty.to/triangle_black/
- Видео — 720p / 1080p в
.mp4(видео + звук). - Аудио —
.mp3(только звуковая дорожка). - Выбор фрагмента — поля «начало — конец» в меню (по умолчанию
0:00:00… полная длина ролика). Загружается только выбранный отрезок, а не всё видео целиком: например, 10 секунд из середины часового ролика скачиваются за пару секунд. Фрагменты до 60 секунд режутся точно по указанному времени (короткое перекодирование, примерно равное длине отрезка). Более длинные сохраняются мгновенно, но начало выравнивается по ближайшему опорному кадру (может быть на пару секунд раньше) — иначе точный старт невозможен: кадры между опорными хранятся как разница и не декодируются в одиночку. - Субтитры —
.txtбез таймкодов. Приоритет — русский язык, иначе доступный. - Формат видео — «Быстро» (VP9 в mp4 без перекодирования, секунды) или «H.264» (перекодирование для совместимости со старыми плеерами, медленно).
- Авто-отключение автовоспроизведения — расширение само выключает «Автовоспроизведение» YouTube, чтобы следующий ролик не запускался сам.
- Google Chrome (или Chromium-браузер) с поддержкой Manifest V3.
- Включённый блокировщик рекламы (например, uBlock Origin). Это важно: без него YouTube вставляет рекламные вставки прямо в медиапоток, из-за чего захват может работать нестабильно или прерываться.
- Скачайте этот репозиторий (кнопка Code → Download ZIP) и распакуйте, либо
git clone. - Откройте в Chrome страницу
chrome://extensions. - Включите Режим разработчика (переключатель справа вверху).
- Нажмите Загрузить распакованное расширение и выберите папку
extension/. - Откройте любое видео на
youtube.com— в правой части панели плеера появится кнопка ▽ (Triangle Downloader).
- Нажмите кнопку ▽ в плеере — откроется меню.
- При необходимости задайте начало и конец фрагмента (по умолчанию — весь ролик).
- Выберите, что скачать:
- Видео →
1080pили720p; - Аудио →
MP3; - Субтитры →
.txt.
- Видео →
- Для видео можно переключить Формат: «Быстро» (по умолчанию) или «H.264».
- Прогресс отображается во всплывающем окне; готовый файл сохраняется через стандартную загрузку браузера.
YouTube в вебе раздаёт HD не одним файлом, а по протоколу SABR: видео и звук идут раздельными зашифрованными потоками, которые плеер расшифровывает и склеивает в памяти через Media Source Extensions. Готовой ссылки на файл не существует, поэтому расширение подключается там, где данные уже расшифрованы и разложены по дорожкам:
- content_hook.js (запускается до плеера) перехватывает медиасегменты в
SourceBuffer.appendBuffer. Чтобы вшитыйffmpeg.wasmмог их обработать, плеер склоняется к кодеку VP9 (AV1 он не декодирует). - Для скачивания расширение ставит нужное качество и перематывает видео к краю загруженного буфера, пока не соберёт все сегменты выбранного отрезка (без ускоренного проигрывания — мягко для YouTube).
- offscreen.js запускает
ffmpeg.wasmи собирает итоговый файл (по умолчанию — быстрая склейка-c copy; для.mp3и режима «H.264» — перекодирование). - Субтитры берутся из встроенной панели «Расшифровка видео» (текст уже отрендерен в DOM), поэтому не нужны никакие токены и перехват сети.
- Захват идёт через перемотку буфера, поэтому для очень длинных роликов занимает время, пропорциональное длине.
- Режим «H.264» и
.mp3перекодируют средствамиffmpeg.wasm(однопоточный) — это заметно медленнее быстрой склейки, вплоть до нескольких минут на длинных видео. - В режиме «Быстро» файл
.mp4содержит кодеки VP9/Opus — он открывается в Chrome, VLC и современных плеерах; для старых плееров используйте «H.264». - Работает на страницах
youtube.com/watch.
extension/vendor/ffmpeg/ содержит сборки ffmpeg.wasm:
пакеты npm @ffmpeg/ffmpeg@0.12.10 и @ffmpeg/core@0.12.6 (однопоточная сборка, не требует
cross-origin isolation).
Проект распространяется под лицензией GNU General Public License v3.0 — см. файл LICENSE.
- Black Triangle — автор и владелец проекта.
- Claude (Anthropic) — разработка кода.
