Una aplicación web simple y elegante para descargar el audio de videos de YouTube (y otras plataformas compatibles) en formato MP3 de alta calidad, y poder escucharlo en cualquier lugar, momento y sin conexión, en modo podcast.
- 🚀 Descarga Rápida: Utiliza
yt-dlppara una descarga y extracción de audio eficientes. - 🎨 Interfaz Moderna: Diseño limpio y responsivo con HTML5 y CSS3.
- 📄 Información del Video: Muestra el título y la miniatura del video antes de descargar.
- 🏷️ Nombres de Archivo Inteligentes: Usa el título del video como nombre del archivo MP3 descargado.
- 🛡️ Robusto: Manejo de errores y limpieza de archivos temporales.
- Backend: Python 3.13+, Flask
- Herramienta de Descarga: yt-dlp
- Conversión de Audio: FFmpeg
- Frontend: HTML5, CSS3, JavaScript (Vanilla)
Antes de ejecutar la aplicación, asegúrate de tener instalado:
- Python 3.13 o superior: Descargar Python
- FFmpeg: Necesario para la conversión de audio.
- Descárgalo desde ffmpeg.org (para Windows, elige la build de
gyan.dev). - Descomprime el archivo en una ubicación permanente (ej.
C:\ffmpeg). - Importante: La ruta a la carpeta
binde FFmpeg (ej.C:\ffmpeg\bin) debe ser conocida. La aplicación la usará internamente.
- Descárgalo desde ffmpeg.org (para Windows, elige la build de
Sigue estos pasos para tener la aplicación corriendo en tu máquina local.
Es una best practice (buena práctica) esencial en Python. Aísla las dependencias de tu proyecto para evitar conflictos con otras aplicaciones y asegura que cualquiera que clone tu proyecto pueda replicar el entorno exacto.
-
Clona el repositorio:
git clone https://github.com/TU_USUARIO/TU_REPOSITORIO.git cd TU_REPOSITORIO -
Crea y activa un entorno virtual (Recomendado):
python -m venv .venv # En Windows: .\.venv\Scripts\activate # En macOS/Linux: source .venv/bin/activate
Verás que ahora tu terminal empieza con
(.venv), indicando que el entorno virtual está activo. -
Instala las dependencias de Python:
pip install -r requirements.txt
-
Configura la ruta de FFmpeg:
- Abre el archivo
app.py. - Localiza la línea
ffmpeg_path = r"C:\ffmpeg\bin". - Asegúrate de que esta ruta apunta a la carpeta
binde tu instalación de FFmpeg.
- Abre el archivo
-
Ejecuta la aplicación:
python app.py
-
Abre tu navegador y ve a
http://127.0.0.1:5001.
Para detener la aplicación, vuelve a la terminal y presiona Ctrol+C.
/mp3-downloader
├── app.py # Servidor Flask principal
├── requirements.txt # Dependencias de Python
├── README.md # Este archivo
├── static/
│ ├── favicon.svg # Icono de la pestaña
│ └── style.css # Hoja de estilos
└── templates/
└── index.html # Interfaz de usuario
Este proyecto fue un excelente ejercicio de resolución de problemas. Algunos de los desafíos clave fueron:
- Gestión de Entornos Python: Asegurarse de que
yt-dlpse ejecutara en el entorno virtual correcto. - Integración con FFmpeg: Resolver problemas de
PATHyffprobepara queyt-dlpysubprocesspudieran encontrar las herramientas de conversión de audio. - Lógica de Descarga Robusta: Implementar un proceso de dos pasos (descargar el audio original, luego convertir a MP3) para evitar la corrupción de archivos y errores de permisos en Windows.
- Comunicación Asíncrona: Usar
fetchen JavaScript para una experiencia de usuario fluida sin recargas de página.
Esta herramienta es para fines educativos y personales. Por favor, úsala de manera responsable y solo para descargar contenido al que tengas derecho. No me hago responsable del uso que se le dé a la aplicación.
¡Las contribuciones son bienvenidas! Si tienes una idea para mejorar el proyecto, no dudes en abrir un issue o enviar un pull request.
