◉ Pulse
HelpFreedom avatar
#22 today

HelpFreedom/Triangle-Downloader

JavaScript Tool

Chrome extension to download YouTube video/audio/subtitles by capturing the player stream. No yt-dlp.

Created Jul 18, 2026
Stars
13
Today
+13
Forks
1
Quality
93/100
Momentum
20

README

Fetched from GitHub on Oct 30, 2026, 10:15 PM UTC · README.md

View original on GitHub

Third-party content — Open Source Pulse is not the owner of this repository.

This README belongs to HelpFreedom/Triangle-Downloader and its contributors. We fetch it directly from the project’s public GitHub repository and display it for reference only. All text, code, images and trademarks remain the property of their respective authors. See the repository for its license terms. Copyright / takedown policy.

Triangle Downloader

Русский · English

Расширение для Chrome (Manifest V3), которое добавляет кнопку ▽ прямо в плеер YouTube и позволяет скачивать открытое видео, аудио и субтитры — перехватывая поток самого плеера. Без yt-dlp, без сторонних сайтов и серверов: вся работа происходит локально в браузере.

Поддержать меня можно на Boosty: https://boosty.to/triangle_black/

Скриншот меню Triangle Downloader

Возможности

  • Видео — 720p / 1080p в .mp4 (видео + звук).
  • Аудио — .mp3 (только звуковая дорожка).
  • Выбор фрагмента — поля «начало — конец» в меню (по умолчанию 0:00:00 … полная длина ролика). Загружается только выбранный отрезок, а не всё видео целиком: например, 10 секунд из середины часового ролика скачиваются за пару секунд. Фрагменты до 60 секунд режутся точно по указанному времени (короткое перекодирование, примерно равное длине отрезка). Более длинные сохраняются мгновенно, но начало выравнивается по ближайшему опорному кадру (может быть на пару секунд раньше) — иначе точный старт невозможен: кадры между опорными хранятся как разница и не декодируются в одиночку.
  • Субтитры — .txt без таймкодов. Приоритет — русский язык, иначе доступный. Поддерживаются оба варианта панели «Расшифровка видео»: классическая (там язык выбирается явно) и новая «В этом видео» — в ней YouTube не даёт выбора языка, поэтому сохраняется тот, который показан.
  • Формат видео — «Быстро» (VP9 в mp4 без перекодирования, секунды) или «H.264» (перекодирование для совместимости со старыми плеерами, медленно).
  • Авто-отключение автовоспроизведения — расширение само выключает «Автовоспроизведение» YouTube, чтобы следующий ролик не запускался сам.

⚠️ Требования

  • Google Chrome (или Chromium-браузер) с поддержкой Manifest V3.
  • Включённый блокировщик рекламы (например, uBlock Origin). Это важно: без него YouTube вставляет рекламные вставки прямо в медиапоток, из-за чего захват может работать нестабильно или прерываться.

Установка

  1. Скачайте этот репозиторий (кнопка Code → Download ZIP) и распакуйте, либо git clone.
  2. Откройте в Chrome страницу chrome://extensions.
  3. Включите Режим разработчика (переключатель справа вверху).
  4. Нажмите Загрузить распакованное расширение и выберите папку extension/.
  5. Откройте любое видео на youtube.com — в правой части панели плеера появится кнопка ▽ (Triangle Downloader).

Использование

  1. Нажмите кнопку ▽ в плеере — откроется меню.
  2. При необходимости задайте начало и конец фрагмента (по умолчанию — весь ролик).
  3. Выберите, что скачать:
    • Видео → 1080p или 720p;
    • Аудио → MP3;
    • Субтитры → .txt.
  4. Для видео можно переключить Формат: «Быстро» (по умолчанию) или «H.264».
  5. Прогресс отображается во всплывающем окне; готовый файл сохраняется через стандартную загрузку браузера.

Как это работает

YouTube в вебе раздаёт HD не одним файлом, а по протоколу SABR: видео и звук идут раздельными зашифрованными потоками, которые плеер расшифровывает и склеивает в памяти через Media Source Extensions. Готовой ссылки на файл не существует, поэтому расширение подключается там, где данные уже расшифрованы и разложены по дорожкам:

  1. content_hook.js (запускается до плеера) перехватывает медиасегменты в SourceBuffer.appendBuffer. Чтобы вшитый ffmpeg.wasm мог их обработать, плеер склоняется к кодеку VP9 (AV1 он не декодирует).
  2. Для скачивания расширение ставит нужное качество и перематывает видео к краю загруженного буфера, пока не соберёт все сегменты выбранного отрезка (без ускоренного проигрывания — мягко для YouTube).
  3. offscreen.js запускает ffmpeg.wasm и собирает итоговый файл (по умолчанию — быстрая склейка -c copy; для .mp3 и режима «H.264» — перекодирование).
  4. Субтитры берутся из встроенной панели «Расшифровка видео» (текст уже отрендерен в 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) — разработка кода.
Rendered by GitHub from the repository’s README. Scroll to read the full file.
First trending

Jul 19, 2026

first spotted on the list

Best rank

#22

highest position reached

Appearances

1

times on the trending list

Quality score

93

out of 100

Momentum

20

trend strength indicator

Star velocity

0.13

stars per day since creation

Activity — last 60 days

daily counts, collected every 6 hours
  • Stars
  • Forks
  • Merged PRs
  • Issues
  • Closed issues

Collecting activity data since launch — check back in a few days.

Star history

total stars per snapshot

Not enough snapshots yet — check back soon.

Rank history

position on trending · lower is better

Not enough snapshots yet — check back soon.

3D card for your website

Live HTML card with a glass surface and pointer tilt. Paste the iframe on any website.

<iframe src="https://www.notionpulse.cc/embed/HelpFreedom/Triangle-Downloader" width="420" height="240" style="border:0;max-width:100%;background:transparent" loading="lazy" title="HelpFreedom/Triangle-Downloader — trending on Open Source Pulse"></iframe>

Stars badge

Show current stars in your README or profile. Auto-updates every 6 hours.

HelpFreedom/Triangle-Downloader stars badge
Markdown
[![HelpFreedom/Triangle-Downloader](https://www.notionpulse.cc/api/badge/HelpFreedom/Triangle-Downloader.svg)](https://www.notionpulse.cc/repo/HelpFreedom/Triangle-Downloader)
HTML
<a href="https://www.notionpulse.cc/repo/HelpFreedom/Triangle-Downloader"><img src="https://www.notionpulse.cc/api/badge/HelpFreedom/Triangle-Downloader.svg" alt="HelpFreedom/Triangle-Downloader stars badge" /></a>

Repository of the Day

#22 Repository of the Day

Repository of the Week

#22 Repository of the Week

Repository of the Month

#22 Repository of the Month