Video Downloader
Docs
Baixa o vídeo pela fonte exata a partir do link da página. Sem extensão, sem app. Acha arquivos mp4/webm/mov no HTML e streams HLS (m3u8).
Como usar
- Acesse a tool
- Cole a URL da página que tem o vídeo
- Clique em Encontrar fonte
- Escolha a qualidade
- Clique em Baixar
Links recentes ficam salvos no navegador (localStorage) pra reusar depois.
Tipos de fonte
- MP4 direto: a página expõe um arquivo de vídeo no HTML (
srcde<video>ou<source>, ou dentro de JSON). O download pega o arquivo original, sem re-encode. - HLS (m3u8): a página usa streaming adaptativo. O worker lê o manifest, escolhe a variante e concatena os segmentos com download paralelo (5 por vez), em
.tslossless. Streams cifrados (AES-128) e fMP4 também funcionam.
.ts é o formato nativo do HLS. VLC, mpv e ffplay reproduzem normal. Editores grandes (Premiere, Resolve) não abrem direto. A aba API tem comando ffmpeg que remuxa pra .mp4 sem re-encode.
Qualidades
Quando a página oferece várias versões, o seletor mostra todas com tamanho estimado. Ordenação decrescente: 2160p → 1440p → 1080p → 720p → 480p → 360p.
API
A aba API da tool gera comandos prontos pra terminal. O curl puro toma 403 porque vai sem User-Agent e sem Referer.
# o que o botão Baixar faz, no terminal
curl -L -A 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/120.0 Safari/537.36' \
-e 'https://site.com/pagina' \
-o 'video_1080p.mp4' \
'https://cdn.site.com/video_1080p.mp4'
# versão aria2c (16 conexões, retomável)
aria2c -x16 -s16 --referer='https://site.com/pagina' -o 'video_1080p.mp4' 'https://cdn.site.com/video_1080p.mp4'
Para HLS, o comando usa o endpoint /go do worker, que resolve a variante e redireciona pro stream concatenado:
curl -L 'https://video-dl.cajuos.dev/go?page=https://site.com/pagina&q=1080p' -o 'video_1080p.ts'
Pra abrir o .ts em editor (Premiere, Resolve, CapCut), remux pro mp4 sem re-encode:
ffmpeg -y -i 'https://video-dl.cajuos.dev/go?page=https://site.com/pagina&q=1080p' -c copy 'video_1080p.mp4'
Limites
- Só HTTP/HTTPS públicos. Endereços locais e IPs privados são rejeitados
- HLS: só vídeo sob demanda (VOD). Stream ao vivo retorna erro
- HLS cifrado com SAMPLE-AES (DRM) não é suportado. AES-128 funciona
- Site que exige login ou cookies de sessão pode bloquear a leitura
- 30 extrações e 10 downloads por minuto por IP
- O download respeita o tamanho do arquivo. O worker não limita banda
Futuro
- Batch/playlist (várias páginas de uma vez)
- Stream ao vivo
- Pass-through de cookies
Stack
Cloudflare Worker (video-dl.cajuos.dev) em TypeScript faz extração, proxy de download e concatenação HLS. Componente React client-side no Next.js.
Código
Worker em tools/video-dl-worker/ no repositório. Deploy via wrangler deploy. Open source no GitHub.