# YouTube Downloader — текст страницы

> Взято из PR № 32 (`feat/youtube-downloader`), `en.json → productPages.youtubeDownloader`.
> `en` является авторитетным источником; версии на испанском (es), португальском (pt-br), французском (fr), русском (ru) и китайском (zh) содержат первоначальные переводы, выполненные людьми.

## SEO / метаданные

- **Название:** YouTube Downloader: надёжное скачивание видео с YouTube через Massive Residential | Massive
- **Описание:** Асинхронный сервис с открытым исходным кодом, осуществляющий загрузку видео с YouTube через прокси-серверы Massive Residential: ограниченная параллельность, строгие «липкие» сессии, новый маршрут при каждой повторной попытке и телеметрия по каждой попытке.
- **Название в формате JSON-LD (`SoftwareSourceCode`):** Massive YouTube Downloader

## Меню навигации / продуктов

- **Название:** YouTube Downloader
- **Краткое описание:** Асинхронная загрузка видео с YouTube с использованием прокси-серверов Massive Residential на основе открытого исходного кода.# Главная страница

**Теги:** Открытый исходный код · MIT

# Надёжная загрузка видео с YouTube *в больших объёмах*

Асинхронный сервис с открытым исходным кодом, запускающий yt-dlp через сеть Massive Residential Proxies. Это важно, поскольку при больших объёмах YouTube ограничивает пропускную способность и блокирует IP-адреса центров обработки данных, а также простые скрипты, в результате чего загрузка просто перестаёт работать.

- **[Просмотреть на GitHub]** → https://github.com/joinmassive/Youtube-downloader

---

## Проблема

### Почему скрипты прямой загрузки выходят из строя при больших объёмах

Прямой запуск yt-dlp на YouTube, как правило, приводит к одним и тем же сбоям при увеличении объёма загрузок. Данный сервис создан для того, чтобы избежать этих сбоев.

01. **Неограниченная параллельность** — Простой скрипт открывает столько соединений, сколько у него URL-адресов. Это перегружает как пул прокси-серверов, так и YouTube, в результате чего сбои накапливаются, а не уменьшаются.
02. **Сеансы, прерывающиеся по истечении времени ожидания в середине загрузки** — параметр sessionmode=flex меняет маршрут в ходе длительной загрузки, в результате чего загрузка большого видео прерывается на полпути, и вся попытка оказывается напрасной.
03. **Повторные попытки, приводящие к той же ошибке** — при простом повторе попытки используется тот же маршрут, который только что дал сбой, в результате чего вторая попытка заканчивается таким же образом, расходуя лимит попыток без каких-либо изменений.
04. **Невидимые ошибки прокси** — когда ошибка на стороне прокси замалчивается, задание просто «завершается сбоем» без указания IP-адреса, страны или ASN, по которым можно было бы принять меры. Вы не сможете отличить неработающий маршрут от неработающего видео.

---

## Принцип работы

### Модель работы

Одно задание проходит путь от API к ограниченному рабочему процессу, через строго ограниченную сессию Massive, в yt-dlp и далее в хранилище. Неудачная попытка возвращается для получения нового маршрута.

> **Схема (`YoutubeFlow`):** `POST /video → Worker (bounded concurrency) → Massive (strict session) → yt-dlp (extract + download) → Storage (upload + webhook)`, с циклом **поиска нового маршрута при повторной попытке** от yt-dlp обратно в Massive. См. `youtube-flow.svg`.

---

## Что предлагает вам сервис

### Разработан для надёжных и отслеживаемых загрузок.

**API асинхронных заданий** *(Async API)*
Поставьте задание в очередь с помощью POST /video и отслеживайте его с помощью GET /video/{id}. Загрузка происходит в рабочем процессе, а не в рамках HTTP-запроса, поэтому ответ возвращается сразу.
- Явные состояния: в очереди, выполняется, загрузка, завершено, сбой
- Проверяйте каждую попытку с помощью GET /video/{id}/attempts; повторяйте попытку в случае окончательного сбоя с помощью POST /video/{id}/retry

**Ограниченная параллельность и сроки действия рабочих процессов** *(Ограниченная параллельность)*
Ограничение на количество одновременных операций на один рабочий процесс удерживает количество подключений на уровне, который могут выдержать ваш прокси-сервер и показатели успешности YouTube, а сроки действия рабочих процессов отслеживают задания, находящиеся в обработке.
- Выберите предельное значение на основе наблюдаемых показателей успешности; 30 — подходящее значение для нагрузочного тестирования
- Сбой рабочего процесса приводит к аннулированию срока его действия; истекший срок восстанавливается, и задание вновь помещается в очередь при перезапуске

**Строгие Massive сессии** *(Строгие сессии)*
Каждая попытка получает уникальный идентификатор сессии с параметром sessionmode=strict. Ошибка маршрута приводит к аннулированию сессии, а не к её сохранению при сбоях.
- Новый идентификатор сеанса для каждой попытки означает новый маршрут при каждой повторной попытке
- Рабочий процесс самостоятельно управляет повторными попытками и отсрочкой; внутренние повторные попытки yt-dlp отключены

**Интеграция с Python API yt-dlp** *(Python API yt-dlp)*
Сервис управляет yt-dlp через его API на Python, поэтому учетные данные прокси никогда не передаются через командную строку дочернего процесса, исходный файл или историю командной оболочки.

**Современное извлечение данных из YouTube** *(Современное извлечение)*
Среда выполнения Deno для JavaScript и настраиваемые клиенты проигрывателя YouTube обеспечивают современное извлечение данных из проигрывателя.
- YTDLP_JS_RUNTIME=deno с настраиваемым списком YTDLP_YOUTUBE_PLAYER_CLIENTS

**Локальное хранилище или хранилище S3** *(Хранение)*
Записывайте результаты в локальную файловую систему для целей разработки или в S3 и S3-совместимые корзины при наличии соответствующих дополнительных зависимостей и учетных данных.

**Телеметрия по каждой попытке** *(Телеметрия)*
Каждая попытка фиксирует свою фазу, время выполнения, количество байтов, выбранные клиенты проигрывателя и код ошибки. Учетные данные никогда не включаются.
- При включенном сборе данных записи содержат метаданные о выходе из Massive: IP-адрес выхода, страну, часовой пояс и ASN

**Подписанные веб-хуки завершения** *(Веб-хуки)*
Укажите URL-адрес веб-хука в задании для получения уведомлений о завершении. При наличии секретного ключа подписи в отправленных данных присутствует заголовок с подписью HMAC-SHA256.

---

## Почему Massive

### Настоящие резидентные маршруты, а не IP-адреса центров обработки данных

Сервис пропускает каждую попытку через резидентные прокси-серверы Massive, благодаря чему YouTube воспринимает трафик как естественный локальный трафик с реальных потребительских устройств.

**Краткая статистика:**

| Символ | Число | Метка |
|---|---|---|
| latency-meter | &lt;600 мс | Ответ |
| success-sparkline | 99,8 % | Успех |
| uptime-bars | 99,9 % | Время безотказной работы |
| globe-arc | 195+ | Страны |

**Характеристики для предприятий:**

- **Прошел аудит SOC 2 Тип 1** — Независимый аудит мер безопасности и операционной целостности.
- **Соответствие требованиям GDPR и CCPA** — Полное соблюдение глобальных нормативных требований в области конфиденциальности данных.
- **Сертификация AppEsteem** — Независимая экспертиза практик использования SDK и механизмов получения согласия.
- **SLA с гарантированным временем безотказной работы 99,9%** — Обеспечивается круглосуточным мониторингом и выделенной инфраструктурой.
- **Инженеры, отвечающие инженерам** — Персональный менеджер по работе с клиентами. Техническая поддержка от команды разработчиков.
- **Полный аудиторский след** — Каждое подключенное устройство, каждый запрос регистрируется. Проходит проверку безопасности.

---

## Заключительный призыв к действию

## Скопируйте. Запустите. *Внедрите.*

Без регистрации, без ограничений. Укажите свои учетные данные Massive Residential — и загрузка начнется через несколько минут. Когда объём вашего трафика превысит возможности тестовой версии, запишитесь на консультацию, и мы поможем вам подобрать подходящий тарифный план.

- **[Посмотреть на GitHub]** → https://github.com/joinmassive/Youtube-downloader
- **[Заказать звонок]** → https://meetings.hubspot.com/chen-assayag/round-robin
