This project is a web application developed with Next.js that allows to download YouTube videos by specifying the video URL and the desired quality. The application uses yt-dlp to retrieve the download links and serves them to the client for automatic downloading.
- Download YouTube videos in different qualities (144p, 360p, 720p, 1080p).
- Simple and intuitive user interface.
- Automatic download after form submission.
Before you begin, make sure you have the following installed on your machine:
- Clone the repository
git clone https://github.com/your-user/your-repo.git
cd your-repo
- Install dependencies
Use npm or yarn to install the project's dependencies.
npm install
# or
yarn install- Install yt-dlp
Make sure you have
yt-dlpinstalled on your system. You can install it via pip or download the binary directly.
pip install yt-dlpOr download it from yt-dlp GitHub.
- Set up the environment
Create a
.envfile in the root of the project to set up environment variables if needed.
touch .envNo environment variables are required at this time, but you can add them if you need them later.
- Start the development server To launch the application in development mode, run the following command:
npm run dev
# or
yarn devThe application will be accessible at the address: http://localhost:3000.
- Use the application
-
Enter the URL of the YouTube video in the field provided.
-
Select the desired quality.
-
Click on Download to start the download.
The download will start automatically after submitting the form.
-
/pages: Contains the Next.js pages. -
index.js: Home page with the download form. -
api: Folder containing the API to manage download requests. -
/public: Contains static files (images, styles, etc.). -
/styles: Contains CSS or Tailwind files (if used). -
package.json: List of project dependencies and scripts.
Next.js : React framework for server-side rendering and static site generation.
yt-dlp : Command-line tool to download YouTube videos.
Tailwind CSS (optional): CSS framework to style the user interface.
Contributions are welcome! If you want to improve this project, follow these steps:
-
Fork the project.
-
Create a branch for your feature (
git checkout -b feature/AmazingFeature). -
Commit your changes (
git commit -m 'Add some AmazingFeature'). -
Push the branch (
git push origin feature/AmazingFeature). -
Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for more details.
- Sékou Dayifourou KEITA - Dayifour