Русский · English
Расширение для Chrome (Manifest V3), которое добавляет кнопку ▽ прямо в плеер YouTube и
позволяет скачивать открытое видео, аудио и субтитры — перехватывая поток самого плеера.
Без yt-dlp, без сторонних сайтов и серверов: вся работа происходит локально в браузере.
- Видео — 720p / 1080p в
.mp4(видео + звук). - Аудио —
.mp3(только звуковая дорожка). - Выбор фрагмента — поля «начало — конец» в меню (по умолчанию
0:00:00… полная длина ролика). Скачивается только выбранный отрезок. - Субтитры —
.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) — разработка кода.
