# YouTube Downloader — texto de la página

> Extraído del PR n.º 32 (`feat/youtube-downloader`), `en.json → productPages.youtubeDownloader`.
> `en` es la versión oficial; las versiones en es, pt-br, fr, ru y zh contienen traducciones humanas preliminares.

## SEO / metadatos

- **Título:** Descargador de YouTube: descargas fiables de YouTube a través de Massive Residential | Massive
- **Descripción:** Servicio asíncrono de código abierto que realiza descargas de YouTube a través de los proxies residenciales de Massive: concurrencia limitada, sesiones persistentes estrictas, una ruta nueva en cada reintento y telemetría por intento.
- **Nombre JSON-LD (`SoftwareSourceCode`):** Massive YouTube Downloader

## Menú de navegación / productos

- **Etiqueta:** Descargador de YouTube
- **Descripción breve:** Descargas asíncronas de YouTube de código abierto a través de Massive Residential.# Destacado

**Etiqueta:** Código abierto · MIT

# Descargas fiables de YouTube *a gran escala*

Un servicio asíncrono de código abierto que ejecuta yt-dlp a través de los proxies residenciales de Massive. Es importante porque, ante un volumen elevado, YouTube limita el ancho de banda y bloquea las direcciones IP de los centros de datos y los scripts poco sofisticados hasta que las descargas dejan de funcionar por completo.

- **[Ver en GitHub]** → https://github.com/joinmassive/Youtube-downloader

---

## El problema

### Por qué fallan los scripts de descarga directa cuando el volumen es elevado

Ejecutar yt-dlp directamente contra YouTube suele provocar los mismos fallos una vez que el volumen aumenta. Este servicio existe para evitarlos.

01. **Concurrencia ilimitada** — Un script simplista abre tantas conexiones como URL tiene. Esto satura tanto el conjunto de proxies como YouTube, por lo que los fallos se multiplican en lugar de reducirse.
02. **Sesiones que agotan el tiempo de espera a mitad de la descarga** — La opción `sessionmode=flex` alterna la ruta durante una descarga prolongada, por lo que un vídeo de gran tamaño agota el tiempo de espera a mitad de la descarga y todo el intento se echa a perder.
03. **Reintentos que repiten el fallo** — Un reintento simple reutiliza la misma ruta que acaba de fallar, por lo que el segundo intento falla de la misma manera, agotando el presupuesto de intentos sin cambiar nada.
04. **Errores de proxy invisibles** — Cuando se omite un error del lado del proxy, el trabajo simplemente «fracasa» sin proporcionar una IP de salida, un país o un ASN sobre los que actuar. No se puede distinguir una ruta defectuosa de un vídeo defectuoso.

---

## Cómo funciona

### El modelo operativo

Un trabajo fluye desde la API hacia un trabajador delimitado, a través de una sesión estricta de Massive, hacia yt-dlp y, finalmente, al almacenamiento. Un intento fallido vuelve a buscar una ruta nueva.

> **Diagrama (`YoutubeFlow`):** `POST /video → Worker (bounded concurrency) → Massive (strict session) → yt-dlp (extract + download) → Storage (upload + webhook)`, con un bucle de **nueva ruta en el reintento** desde yt-dlp de vuelta a Massive. Véase `youtube-flow.svg`.

---

## Qué le ofrece el servicio

### Diseñado para descargas fiables y observables.

**API de tareas asíncronas** *(API asíncrona)*
Ponga en cola una tarea con POST /video y compruebe su estado con GET /video/{id}. La descarga se realiza en el trabajador, no en la solicitud HTTP, por lo que la respuesta se devuelve de inmediato.
- Estados explícitos: en cola, en ejecución, cargando, completado, fallido
- Compruebe cada intento mediante GET /video/{id}/attempts; reintente un fallo terminal mediante POST /video/{id}/retry

**Concurrencia limitada y períodos de vigencia** *(Concurrencia limitada)*
Un límite de concurrencia por trabajador mantiene las conexiones en un nivel que su proxy y las tasas de éxito de YouTube puedan soportar, y los arrendamientos de los trabajadores realizan un seguimiento de los trabajos en curso.
- Elija el límite en función de las tasas de éxito observadas; 30 es un valor útil para las pruebas de carga
- Un trabajador que se bloquea deja atrás un arrendamiento; un arrendamiento caducado se recupera y se vuelve a poner en cola al reiniciar

**Sesiones Massive estrictas** *(Sesiones estrictas)*
Cada intento recibe un ID de sesión único con sessionmode=strict. Un error de ruta invalida la sesión en lugar de persistir tras los fallos.
- Un nuevo identificador de sesión por intento implica una ruta nueva en cada reintento
- El trabajador gestiona los reintentos y el retroceso; los reintentos internos de yt-dlp están desactivados

**Integración con la API de Python de yt-dlp** *(API de Python de yt-dlp)*
El servicio controla yt-dlp a través de su API de Python, por lo que las credenciales del proxy nunca pasan por la línea de comandos de un proceso secundario, un archivo fuente ni el historial del shell.

**Extracción moderna de YouTube** *(Extracción moderna)*
Un entorno de ejecución de JavaScript de Deno y clientes de reproductor de YouTube configurables se encargan de la extracción moderna del reproductor.
- YTDLP_JS_RUNTIME=deno con una lista configurable de YTDLP_YOUTUBE_PLAYER_CLIENTS

**Almacenamiento local o en S3** *(Almacenamiento)*
Guarde los resultados en el sistema de archivos local para el desarrollo, o en S3 y buckets compatibles con S3 cuando se disponga de las dependencias y credenciales opcionales.

**Telemetría por intento** *(Telemetría)*
Cada intento registra su fase, tiempo, recuento de bytes, reproductores seleccionados y código de error. Las credenciales nunca se incluyen.
- Con la captura habilitada, los registros incluyen metadatos de salida de Massive: IP de salida, país, zona horaria y ASN

**Webhooks de finalización firmados** *(Webhooks)*
Configure una URL de webhook en un trabajo para recibir notificaciones en la terminal. Si se ha configurado un secreto de firma, las entregas incluyen un encabezado de firma HMAC-SHA256.

---

## Por qué Massive

### Rutas residenciales reales, no direcciones IP de centros de datos

El servicio redirige cada intento a través de los proxies residenciales de Massive, de modo que YouTube detecta tráfico local orgánico procedente de dispositivos reales de consumidores.

**Datos clave:**

| Símbolo | Número | Etiqueta |
|---|---|---|
| latency-meter | &lt;600 ms | Respuesta |
| success-sparkline | 99,8 % | Éxito |
| uptime-bars | 99,9 % | Tiempo de actividad |
| globe-arc | Más de 195 | Países |

**Fichas de la empresa:**

- **Auditado según la norma SOC 2 Tipo 1** — Auditoría independiente de los controles de seguridad y la integridad operativa.
- **Conforme al RGPD y la CCPA** — Cumplimiento total de la normativa global en materia de protección de datos.
- **Certificado por AppEsteem** — Revisión independiente de las prácticas del SDK y los mecanismos de consentimiento.
- **SLA de tiempo de actividad del 99,9 %** — Respaldado por una supervisión 24 horas al día, 7 días a la semana, y una infraestructura dedicada.
- **Ingenieros que atienden a ingenieros** — Gestor de cuenta dedicado. Asistencia técnica por parte del equipo que lo ha desarrollado.
- **Registro de auditoría completo** — Cada dispositivo dado de alta, cada solicitud registrada. Supera la revisión de seguridad.

---

## Llamada a la acción final

## Clónelo. Ejecútelo. *Póngalo en marcha.*

Sin registro, sin restricciones. Introduzca sus propias credenciales de Massive Residential y estará descargando en cuestión de minutos. Cuando su volumen supere el de una prueba, solicite una llamada y le ayudaremos a elegir el plan que mejor se adapte a sus necesidades.

- **[Ver en GitHub]** → https://github.com/joinmassive/Youtube-downloader
- **[Reserve una llamada]** → https://meetings.hubspot.com/chen-assayag/round-robin
