Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎵 YTdl Vibe

A premium YouTube video downloader with a sleek dark-themed UI. Paste a YouTube link, browse all available formats, and download in the quality you want.

Architecture

ytdl-vibe/
├── frontend/          → React + Vite (served by nginx in Docker)
├── backend/           → Node.js + yt-dlp + ffmpeg (API)
├── docker-compose.yml → Multi-service orchestration
└── README.md

Tech Stack

Layer Technology
Frontend React 19, Vite 7, nginx
Backend Node.js, Express, yt-dlp
Audio ffmpeg (MP3 transcoding)
Styling Vanilla CSS, Inter font
Infra Docker, Docker Compose

Getting Started

🐳 Docker (recommended)

docker compose build
docker compose up

Open http://localhost:8080 — that's it!

💻 Local Development

Prerequisites: Node.js 22+, Python 3.9+, ffmpeg

# Backend
cd backend
npm install
npm run dev          # → http://localhost:3001

# Frontend (separate terminal)
cd frontend
npm install
npm run dev          # → http://localhost:5173

Features

  • 🎨 Premium dark theme with glassmorphism UI
  • 🔗 Paste any YouTube video URL
  • 📋 Browse all available download formats (MP4, WebM, audio-only)
  • 🎵 Extract as MP3 (ffmpeg transcoding)
  • 📊 Quality badges (4K, HD, HQ) with tab filtering
  • ⬇️ Download progress modal with real-time stats
  • ✅ Download completion confirmation

API Endpoints

Endpoint Method Description
/api/video-info?url= GET Fetch video metadata + formats
/api/download?url=&formatId= GET Stream video file download
/api/extract-mp3?url= GET Extract audio as MP3
/health GET Health check

License

MIT

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages