# YouTube Downloader — texto da página

> Extraído do PR #32 (`feat/youtube-downloader`), `en.json → productPages.youtubeDownloader`.
> `en` é a versão oficial; as versões em es / pt-br / fr / ru / zh contêm traduções humanas preliminares.

## SEO / metadados

- **Título:** YouTube Downloader: downloads confiáveis do YouTube via Massive Residential | Massive
- **Descrição:** Serviço assíncrono de código aberto que realiza downloads do YouTube por meio dos proxies residenciais da Massive: concorrência limitada, sessões persistentes rigorosas, uma rota nova a cada nova tentativa e telemetria por tentativa.
- **Nome JSON-LD (`SoftwareSourceCode`):** Massive YouTube Downloader

## Menu de navegação / produtos

- **Rótulo:** YouTube Downloader
- **Descrição resumida:** Downloads assíncronos de vídeos do YouTube em código aberto via Massive Residential.

---

## Destaque

**Tag:** Código aberto · MIT

# Downloads confiáveis do YouTube *em grande escala*

Um serviço assíncrono de código aberto que executa o yt-dlp por meio de proxies residenciais Massive. Isso é importante porque, em grandes volumes, o YouTube limita e bloqueia IPs de data centers e scripts simplórios até que os downloads simplesmente deixem de funcionar.

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

---

## O problema

### Por que os scripts de download direto falham em grandes volumes

Executar o yt-dlp diretamente no YouTube tende a apresentar os mesmos problemas assim que o volume aumenta. Este serviço existe para evitá-los.

01. **Concorrência ilimitada** — Um script simplório abre tantas conexões quantas forem as URLs. Isso sobrecarrega tanto o conjunto de proxies quanto o YouTube, de modo que as falhas se acumulam em vez de serem mitigadas.
02. **Sessões que expiram no meio do download** — o parâmetro `sessionmode=flex` alterna a rota durante um download demorado; assim, um vídeo grande expira no meio do processo e toda a tentativa é desperdiçada.
03. **Repetidas tentativas que reproduzem a falha** — Uma simples tentativa de repetição reutiliza a mesma rota que acabou de falhar; assim, a segunda tentativa falha da mesma forma, esgotando o limite de tentativas sem alterar nada.
04. **Erros invisíveis do proxy** — Quando um erro do lado do proxy é ignorado, a tarefa simplesmente “falha” sem fornecer um IP de saída, país ou ASN para se agir. Não é possível distinguir uma rota incorreta de um vídeo com defeito.

---

## Como funciona

### O modelo operacional

Uma tarefa flui da API para um trabalhador delimitado, passando por uma sessão estrita do Massive, para o yt-dlp e, por fim, para o armazenamento. Uma tentativa malsucedida retorna para uma rota nova.

> **Diagrama (`YoutubeFlow`):** `POST /video → Worker (bounded concurrency) → Massive (strict session) → yt-dlp (extract + download) → Storage (upload + webhook)`, com um ciclo de **nova rota na repetição** do yt-dlp de volta a Massive. Consulte `youtube-flow.svg`.

---

## O que o serviço oferece

### Desenvolvido para downloads confiáveis e observáveis.

**API de tarefas assíncronas** *(API assíncrona)*
Enfileire uma tarefa com POST /video e verifique seu status com GET /video/{id}. O download ocorre no worker, não na solicitação HTTP, portanto a resposta é retornada imediatamente.
- Estados explícitos: em fila, em execução, em upload, concluído, falha
- Inspecione cada tentativa em GET /video/{id}/attempts; repita uma falha terminal em POST /video/{id}/retry

**Concorrência limitada e alocações** *(Concorrência limitada)*
Um limite de concorrência por worker mantém as conexões em um nível que seu proxy e as taxas de sucesso do YouTube possam sustentar, e os leases dos workers rastreiam as tarefas em andamento.
- Escolha o limite com base nas taxas de sucesso observadas; 30 é uma configuração útil para testes de carga
- Um worker que falha deixa um lease para trás; um lease expirado é recuperado e colocado novamente na fila ao reiniciar

**Sessões estritas Massive** *(Sessões estritas)*
Cada tentativa recebe um ID de sessão exclusivo com sessionmode=strict. Um erro de rota invalida a sessão, em vez de persistir após falhas.
- Um novo ID de sessão por tentativa significa uma rota nova a cada nova tentativa
- O worker é responsável pelas tentativas e pelo backoff; as tentativas internas do yt-dlp estão desativadas

**Integração com a API Python do yt-dlp** *(API Python do yt-dlp)*
O serviço controla o yt-dlp por meio de sua API Python; assim, as credenciais do proxy nunca passam pela linha de comando de um processo filho, por um arquivo-fonte ou pelo histórico do shell.

**Extração moderna do YouTube** *(Extração moderna)*
Um runtime JavaScript do Deno e clientes configuráveis do reprodutor do YouTube lidam com a extração do reprodutor moderno.
- YTDLP_JS_RUNTIME=deno com uma lista configurável de YTDLP_YOUTUBE_PLAYER_CLIENTS

**Armazenamento local ou no S3** *(Armazenamento)*
Grave os resultados no sistema de arquivos local para desenvolvimento ou em buckets do S3 e compatíveis com o S3 quando as dependências e credenciais opcionais estiverem presentes.

**Telemetria por tentativa** *(Telemetria)*
Cada tentativa registra sua fase, tempo, contagem de bytes, clientes de reprodutor selecionados e código de erro. As credenciais nunca são incluídas.
- Com a captura ativada, os registros incluem metadados de saída do Massive: IP de saída, país, fuso horário e ASN

**Webhooks de conclusão assinados** *(Webhooks)*
Defina uma URL de webhook em uma tarefa para receber notificações no terminal. Com um segredo de assinatura definido, as entregas trazem um cabeçalho de assinatura HMAC-SHA256.

---

## Por que a Massive

### Rotas residenciais reais, não IPs de data center

O serviço roteia cada tentativa por meio dos Proxies Residenciais da Massive, de modo que o YouTube perceba tráfego local orgânico proveniente de dispositivos reais de consumidores.

**Dados estatísticos:**

| Ícone | Número | Rótulo |
|---|---|---|
| medidor-de-latência | &lt;600 ms | Resposta |
| gráfico-de-sucesso | 99,8% | Sucesso |
| barras-de-tempo-de-atividade | 99,9% | Tempo de atividade |
| arco-global | 195+ | Países |

**Informações corporativas:**

- **Auditado segundo a norma SOC 2 Tipo 1** — Auditoria independente dos controles de segurança e da integridade operacional.
- **Em conformidade com o GDPR e a CCPA** — Conformidade total com as regulamentações globais de privacidade de dados.
- **Certificado pela AppEsteem** — Análise independente das práticas de SDK e dos mecanismos de consentimento.
- **SLA de 99,9% de tempo de atividade** — Apoiado por monitoramento 24 horas por dia, 7 dias por semana, e infraestrutura dedicada.
- **Engenheiros atendendo a engenheiros** — Gerente de contas dedicado. Suporte técnico da equipe que desenvolveu a solução.
- **Trilha de auditoria completa** — Todos os dispositivos cadastrados, todas as solicitações registradas. Aprovado na avaliação de segurança.

---

## CTA final

## Clone-o. Execute-o. *Lance-o.*

Sem cadastro, sem restrições. Insira suas próprias credenciais do Massive Residential e você estará fazendo o download em minutos. Quando seu volume ultrapassar os limites de um teste, agende uma ligação e nós o ajudaremos a definir o plano adequado.

- **[Ver no GitHub]** → https://github.com/joinmassive/Youtube-downloader
- **[Agende uma ligação]** → https://meetings.hubspot.com/chen-assayag/round-robin
