Download de vídeos e áudio do YouTube, incluindo vídeos privados via cookies do navegador.
Interface web com streaming de log em tempo real (Hotwire/Turbo) e CLI no terminal.
- Ruby 3.4.5
- Rails 8.1.2
- yt-dlp - baixa e extrai os vídeos
- ffmpeg - necessário para mesclar vídeo + áudio (formato
bestvideo+bestaudio) - Node.js (via nvm) - resolvedor de JS challenges do YouTube
- Python
secretstorage- para descriptografar cookies do Brave/Chrome no Linux
# yt-dlp
pip install yt-dlp --break-system-packages
# ffmpeg
sudo apt install ffmpeg
# secretstorage (necessário para cookies do Brave/Chrome)
pip install secretstorage --break-system-packages
# Node.js via nvm (recomendado)
nvm install --ltsO yt-dlp detecta automaticamente o Node.js instalado via nvm para resolver os JS challenges do YouTube.
bundle install
bin/rails db:create db:migrate
# Carrega as tabelas do Solid Queue e Solid Cable no banco de desenvolvimento
bin/rails runner "eval(File.read(Rails.root.join('db/queue_schema.rb'))); eval(File.read(Rails.root.join('db/cable_schema.rb')))"foreman start -f Procfile.devAcesse http://localhost:5555
# Vídeo
bin/yt_extractor video URL --browser firefox --quality 1080p
# Áudio (MP3)
bin/yt_extractor audio URL --browser firefox --quality 320kNavegadores suportados: firefox, chrome, brave, edge
Os arquivos são salvos em output/.
Vídeo: best, 1080p, 720p, 480p, 360p
Áudio: best, 320k, 256k, 192k, 128k
- O navegador informado precisa estar fechado no momento do download para que o yt-dlp consiga ler os cookies.
- Vídeos privados funcionam desde que o navegador esteja logado na conta com acesso ao vídeo.
- O aviso
secretstorage not availableimpede a descriptografia de parte dos cookies do Brave/Chrome mas não bloqueia o download - instalar o pacote elimina o aviso.