127 lines
2.9 KiB
Markdown
127 lines
2.9 KiB
Markdown
# 🧩 Descargador de YouTube - Interfaz Web (Docker + Flask + yt-dlp)
|
|
|
|
Esta aplicación proporciona una interfaz web simple para descargar vídeos o audios (en formato MP3) de YouTube, tanto de forma individual como a partir de listas de reproducción. Está desarrollada con **Flask**, usa **Bootstrap 5** para el frontend y **yt-dlp** para las descargas. Se ejecuta fácilmente mediante **Docker**.
|
|
|
|
---
|
|
|
|
## 🚀 Características
|
|
|
|
✅ Descarga de **vídeo o audio MP3** individual
|
|
✅ Descarga de **listas completas** de reproducción en formato ZIP
|
|
✅ Interfaz moderna con pestañas (Bootstrap)
|
|
✅ Envío automático del archivo al cliente tras la descarga
|
|
✅ Funcionamiento 100% en servidor local (no se sube nada a la nube)
|
|
✅ Preparado para ejecutarse dentro de Docker
|
|
|
|
---
|
|
|
|
## 📁 Estructura del proyecto
|
|
|
|
```
|
|
ytdwl/
|
|
├── app/
|
|
│ ├── main.py # Backend en Flask
|
|
│ ├── requirements.txt # Dependencias Python
|
|
│ ├── templates/
|
|
│ │ └── index.html # Interfaz HTML (Bootstrap)
|
|
│ └── downloads/ # Carpeta donde se guardan descargas temporales
|
|
├── Dockerfile # Imagen con Python, yt-dlp, ffmpeg
|
|
├── docker-compose.yml # Configuración del contenedor
|
|
└── README.md # Este documento
|
|
```
|
|
|
|
---
|
|
|
|
## 🧰 Requisitos
|
|
|
|
- Docker
|
|
- Docker Compose
|
|
|
|
---
|
|
|
|
## 🛠️ Instalación y ejecución
|
|
|
|
### 1. Clonar el repositorio o copiar los archivos
|
|
|
|
```bash
|
|
git clone https://gitea.martivich.es/marti/YTDownloader.git
|
|
cd YTDownloader
|
|
```
|
|
|
|
> O copia el contenido manualmente si no usas Git.
|
|
|
|
---
|
|
|
|
### 2. Construir la imagen Docker
|
|
|
|
```bash
|
|
docker compose build
|
|
```
|
|
|
|
---
|
|
|
|
### 3. Ejecutar el contenedor
|
|
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
Esto levantará la aplicación en el puerto **5000** por defecto (puedes cambiarlo en `docker-compose.yml` si está ocupado).
|
|
|
|
---
|
|
|
|
### 4. Acceder a la web
|
|
|
|
Abre tu navegador en:
|
|
|
|
```
|
|
http://localhost:5000
|
|
```
|
|
|
|
---
|
|
|
|
## 🌐 Uso
|
|
|
|
### ▸ Descargar un solo vídeo o canción:
|
|
- Ve a la pestaña **"Vídeo / MP3 individual"**
|
|
- Pega la URL del vídeo
|
|
- Selecciona "Vídeo" o "MP3"
|
|
- Pulsa **Descargar**
|
|
- El navegador descargará el archivo directamente
|
|
|
|
### ▸ Descargar una lista de reproducción:
|
|
- Ve a la pestaña **"Lista de reproducción"**
|
|
- Pega la URL de la lista
|
|
- Selecciona "Vídeo" o "MP3"
|
|
- Pulsa **Descargar Lista**
|
|
- El navegador descargará un ZIP con todos los elementos
|
|
|
|
---
|
|
|
|
## 🧹 Limpieza
|
|
|
|
Todos los archivos descargados se eliminan automáticamente tras ser enviados al cliente.
|
|
No se acumula contenido en el servidor.
|
|
|
|
---
|
|
|
|
## 🛑 Parar el contenedor
|
|
|
|
```bash
|
|
docker compose down
|
|
```
|
|
|
|
---
|
|
|
|
## 🔐 Notas de seguridad
|
|
|
|
- Esta aplicación está pensada para **uso personal y educativo**.
|
|
- Respeta siempre los derechos de autor y las condiciones de uso de las plataformas.
|
|
- No expongas la aplicación a Internet sin protección adecuada.
|
|
|
|
---
|
|
|
|
## 📜 Licencia
|
|
|
|
MIT © Marti Vich
|