diff --git a/guia yt-dlp y spotDL.md b/guia yt-dlp y spotDL.md new file mode 100644 index 0000000..66d2189 --- /dev/null +++ b/guia yt-dlp y spotDL.md @@ -0,0 +1,1099 @@ +# yt-dlp y spotDL + +## Guía de instalación y uso para Windows, macOS y Linux + +> Guía práctica para instalar y utilizar `yt-dlp`, `spotDL`, FFmpeg y Deno. +> +> **Nota:** usa estas herramientas únicamente con contenido cuya descarga y uso estén permitidos. + +--- + +## Índice + +- [1. Introducción](#1-introducción) +- [2. Requisitos generales](#2-requisitos-generales) +- [3. yt-dlp](#3-yt-dlp) + - [Windows](#31-windows) + - [macOS](#32-macos) + - [Linux](#33-linux) + - [Uso básico](#34-uso-básico) + - [Descargar vídeo](#35-descargar-vídeo) + - [Descargar audio](#36-descargar-audio) + - [Elegir calidad](#37-elegir-calidad) + - [Playlists](#38-playlists) + - [Subtítulos](#39-subtítulos) + - [Actualizar](#310-actualizar-yt-dlp) +- [4. spotDL](#4-spotdl) + - [Windows](#41-windows) + - [macOS](#42-macos) + - [Linux](#43-linux) + - [Uso básico](#44-uso-básico) + - [Canciones, álbumes y playlists](#45-canciones-álbumes-y-playlists) + - [Organización y metadatos](#46-organización-y-metadatos) + - [Actualizar](#47-actualizar-spotdl) +- [5. FFmpeg](#5-ffmpeg) +- [6. Deno](#6-deno) +- [7. Configuración recomendada](#7-configuración-recomendada) +- [8. Solución de problemas](#8-solución-de-problemas) +- [9. Resumen de comandos](#9-resumen-de-comandos) +- [10. Consideraciones legales](#10-consideraciones-legales) + +--- + +# 1. Introducción + +## yt-dlp + +`yt-dlp` es una herramienta de línea de comandos para descargar contenido multimedia de numerosos sitios web. + +Es especialmente útil para: + +- Vídeos. +- Audio. +- Playlists. +- Canales. +- Subtítulos. +- Metadatos. +- Selección de formatos y calidades. +- Descargas automatizadas. + +Proyecto oficial: https://github.com/yt-dlp/yt-dlp + +## spotDL + +`spotDL` trabaja con enlaces de Spotify para identificar canciones y obtener una fuente correspondiente para descargar el audio. No descarga directamente los archivos de audio offline de Spotify. + +En términos generales: + +```text +Spotify + │ + │ información de canción + ▼ + spotDL + │ + │ búsqueda + ▼ +YouTube / yt-dlp + │ + │ audio + ▼ +archivo local +``` + +Proyecto oficial: https://github.com/spotDL/spotify-downloader + +--- + +# 2. Requisitos generales + +Para una instalación completa se recomienda: + +- Python 3.10–3.14 para spotDL. +- FFmpeg. +- yt-dlp. +- spotDL. +- Deno. + +No todos son imprescindibles para cada operación. + +Arquitectura típica: + +```text +Python + │ + ├── spotDL + │ + └── yt-dlp + │ + └── FFmpeg +``` + +--- + +# 3. yt-dlp + +Documentación de instalación: +https://github.com/yt-dlp/yt-dlp/wiki/Installation + +## 3.1 Windows + +### WinGet + +En PowerShell: + +```powershell +winget install yt-dlp +``` + +Actualizar: + +```powershell +winget upgrade yt-dlp +``` + +Comprobar: + +```powershell +yt-dlp --version +``` + +### Instalación manual + +También puedes descargar el ejecutable oficial `yt-dlp.exe` desde: + +https://github.com/yt-dlp/yt-dlp/releases/latest + +Colócalo en una carpeta incluida en `PATH` para poder ejecutarlo desde cualquier terminal. + +--- + +## 3.2 macOS + +Con Homebrew: + +```bash +brew install yt-dlp +``` + +Comprobar: + +```bash +yt-dlp --version +``` + +Actualizar: + +```bash +brew upgrade yt-dlp +``` + +--- + +## 3.3 Linux + +### Ubuntu / Debian + +```bash +sudo apt update +sudo apt install yt-dlp +``` + +También puedes utilizar el binario oficial o Python: + +```bash +python3 -m pip install -U "yt-dlp[default]" +``` + +Comprobar: + +```bash +yt-dlp --version +``` + +### Arch Linux + +```bash +sudo pacman -Syu yt-dlp +``` + +### Binario oficial + +Para instalar el binario en `~/.local/bin`: + +```bash +mkdir -p ~/.local/bin + +curl -L \ + https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp \ + -o ~/.local/bin/yt-dlp + +chmod a+rx ~/.local/bin/yt-dlp +``` + +Asegúrate de que `~/.local/bin` está incluido en `PATH`. + +--- + +## 3.4 Uso básico + +```bash +yt-dlp "URL" +``` + +Ejemplo: + +```bash +yt-dlp "https://www.youtube.com/watch?v=XXXXXXXXXXX" +``` + +El archivo se guardará en la carpeta actual. + +Linux/macOS: + +```bash +pwd +``` + +Windows PowerShell: + +```powershell +Get-Location +``` + +--- + +## 3.5 Descargar vídeo + +Mejor vídeo + audio disponibles: + +```bash +yt-dlp -f "bv*+ba/b" "URL" +``` + +Solicitar MP4 como contenedor final: + +```bash +yt-dlp \ + -f "bv*+ba/b" \ + --merge-output-format mp4 \ + "URL" +``` + +> La combinación de pistas separadas requiere FFmpeg. + +--- + +## 3.6 Descargar audio + +Extraer audio: + +```bash +yt-dlp -x "URL" +``` + +Convertir a MP3: + +```bash +yt-dlp -x --audio-format mp3 "URL" +``` + +Calidad alta: + +```bash +yt-dlp \ + -x \ + --audio-format mp3 \ + --audio-quality 0 \ + "URL" +``` + +--- + +## 3.7 Elegir calidad + +Consultar formatos: + +```bash +yt-dlp -F "URL" +``` + +Ejemplo: + +```text +ID EXT RESOLUTION +137 mp4 1080p +136 mp4 720p +135 mp4 480p +140 m4a audio +``` + +Seleccionar formatos concretos: + +```bash +yt-dlp -f 137+140 "URL" +``` + +Selección automática recomendada: + +```bash +yt-dlp -f "bv*+ba/b" "URL" +``` + +--- + +## 3.8 Playlists + +Descargar una playlist: + +```bash +yt-dlp "URL_DE_LA_PLAYLIST" +``` + +Organizarla automáticamente: + +```bash +yt-dlp \ + -o "%(playlist_title)s/%(playlist_index)02d - %(title)s.%(ext)s" \ + "URL_DE_LA_PLAYLIST" +``` + +Resultado: + +```text +Mi Playlist/ +├── 01 - Canción 1.mp4 +├── 02 - Canción 2.mp4 +├── 03 - Canción 3.mp4 +└── ... +``` + +--- + +## 3.9 Subtítulos + +Ver subtítulos disponibles: + +```bash +yt-dlp --list-subs "URL" +``` + +Descargar subtítulos: + +```bash +yt-dlp --write-subs "URL" +``` + +Español: + +```bash +yt-dlp \ + --write-subs \ + --sub-langs "es" \ + "URL" +``` + +Subtítulos automáticos: + +```bash +yt-dlp \ + --write-auto-subs \ + --sub-langs "es" \ + "URL" +``` + +--- + +## 3.10 Actualizar yt-dlp + +### Windows — WinGet + +```powershell +winget upgrade yt-dlp +``` + +### macOS — Homebrew + +```bash +brew upgrade yt-dlp +``` + +### Linux — pip + +```bash +python3 -m pip install -U "yt-dlp[default]" +``` + +### Binario oficial + +```bash +yt-dlp -U +``` + +--- + +# 4. spotDL + +Documentación: +https://spotdl.github.io/spotify-downloader/ + +Repositorio: +https://github.com/spotDL/spotify-downloader + +spotDL requiere Python 3.10–3.14 y FFmpeg. En Windows puede ser necesario el Visual C++ Redistributable. + +## 4.1 Windows + +### Instalar Python + +Descarga Python desde: + +https://www.python.org/downloads/windows/ + +Durante la instalación activa: + +```text +☑ Add Python to PATH +``` + +Comprobar: + +```powershell +python --version +``` + +### Instalar FFmpeg + +Con WinGet: + +```powershell +winget install -e --id Gyan.FFmpeg +``` + +Comprobar: + +```powershell +ffmpeg -version +``` + +### Instalar spotDL + +```powershell +python -m pip install spotdl +``` + +Comprobar: + +```powershell +spotdl --version +``` + +Si el comando no funciona: + +```powershell +python -m spotdl --version +``` + +### Instalar Deno + +```powershell +spotdl --download-deno +``` + +--- + +## 4.2 macOS + +Comprobar Python: + +```bash +python3 --version +``` + +Si hace falta: + +```bash +brew install python +``` + +Instalar FFmpeg: + +```bash +brew install ffmpeg +``` + +Instalar spotDL: + +```bash +python3 -m pip install spotdl +``` + +Comprobar: + +```bash +spotdl --version +``` + +Instalar Deno: + +```bash +spotdl --download-deno +``` + +--- + +## 4.3 Linux + +### Ubuntu / Debian + +```bash +sudo apt update +sudo apt install python3 python3-pip ffmpeg +``` + +Comprobar: + +```bash +python3 --version +ffmpeg -version +``` + +Instalar spotDL: + +```bash +python3 -m pip install spotdl +``` + +### Alternativa con pipx + +Si la distribución impide instalar paquetes Python directamente en el sistema: + +```bash +sudo apt install pipx +pipx ensurepath +``` + +Reinicia la terminal y ejecuta: + +```bash +pipx install spotdl +``` + +Comprobar: + +```bash +spotdl --version +``` + +Instalar Deno: + +```bash +spotdl --download-deno +``` + +--- + +## 4.4 Uso básico + +```bash +spotdl "URL_DE_SPOTIFY" +``` + +También: + +```bash +spotdl download "URL_DE_SPOTIFY" +``` + +La operación `download` es la predeterminada. + +--- + +## 4.5 Canciones, álbumes y playlists + +### Canción + +```bash +spotdl "https://open.spotify.com/track/XXXXXXXX" +``` + +### Álbum + +```bash +spotdl "https://open.spotify.com/album/XXXXXXXX" +``` + +### Playlist + +```bash +spotdl "https://open.spotify.com/playlist/XXXXXXXX" +``` + +--- + +## 4.6 Organización y metadatos + +Por defecto, spotDL utiliza la carpeta desde la que se ejecuta. + +Linux/macOS: + +```bash +cd ~/Music +spotdl "URL" +``` + +Windows: + +```powershell +cd "C:\Users\TuUsuario\Music" +spotdl "URL" +``` + +Una biblioteca puede organizarse como: + +```text +Music/ +├── Artista/ +│ ├── Album/ +│ │ ├── 01 - Cancion.mp3 +│ │ ├── 02 - Cancion.mp3 +│ │ └── 03 - Cancion.mp3 +``` + +spotDL puede incorporar información como: + +- Artista. +- Título. +- Álbum. +- Número de pista. +- Año. +- Carátula. +- Otros metadatos disponibles. + +Consultar opciones: + +```bash +spotdl --help +``` + +--- + +## 4.7 Actualizar spotDL + +Windows: + +```powershell +python -m pip install --upgrade spotdl +``` + +macOS/Linux: + +```bash +python3 -m pip install --upgrade spotdl +``` + +Con pipx: + +```bash +pipx upgrade spotdl +``` + +--- + +# 5. FFmpeg + +FFmpeg permite, entre otras cosas: + +- Combinar vídeo y audio. +- Extraer audio. +- Convertir formatos. +- Convertir a MP3. +- Procesar archivos multimedia. + +### Windows + +```powershell +winget install -e --id Gyan.FFmpeg +``` + +### macOS + +```bash +brew install ffmpeg +``` + +### Ubuntu/Debian + +```bash +sudo apt update +sudo apt install ffmpeg +``` + +### Arch Linux + +```bash +sudo pacman -S ffmpeg +``` + +Comprobar: + +```bash +ffmpeg -version +``` + +--- + +# 6. Deno + +Deno es recomendable para spotDL porque se utiliza junto con yt-dlp en determinados flujos de descarga. + +La instalación sencilla mediante spotDL es: + +```bash +spotdl --download-deno +``` + +Comprobar: + +```bash +deno --version +``` + +--- + +# 7. Configuración recomendada + +## yt-dlp + +Crear una carpeta para vídeos: + +```text +~/Videos/YouTube/ +``` + +o: + +```text +~/Downloads/YouTube/ +``` + +Organizar por canal: + +```bash +yt-dlp \ + -o "%(channel)s/%(title)s.%(ext)s" \ + "URL" +``` + +Organizar playlists: + +```bash +yt-dlp \ + -o "%(playlist_title)s/%(playlist_index)02d - %(title)s.%(ext)s" \ + "URL" +``` + +### Audio MP3 con metadatos + +```bash +yt-dlp \ + -x \ + --audio-format mp3 \ + --audio-quality 0 \ + --embed-thumbnail \ + --embed-metadata \ + "URL" +``` + +El resultado de los metadatos depende de la información disponible en la fuente. + +--- + +# 8. Solución de problemas + +## `command not found: yt-dlp` + +Linux/macOS: + +```bash +which yt-dlp +``` + +o: + +```bash +command -v yt-dlp +``` + +Si utilizaste pip: + +```bash +python3 -m pip show yt-dlp +``` + +Windows: + +```powershell +where.exe yt-dlp +``` + +--- + +## `command not found: spotdl` + +Linux/macOS: + +```bash +python3 -m spotdl --version +``` + +Windows: + +```powershell +python -m spotdl --version +``` + +Si funciona mediante Python pero no como comando, comprueba el `PATH`. + +--- + +## `ffmpeg not found` + +Comprueba: + +```bash +ffmpeg -version +``` + +Si no está disponible, instala FFmpeg según tu sistema operativo. + +--- + +## Una descarga de YouTube deja de funcionar + +Actualiza yt-dlp. + +Windows: + +```powershell +winget upgrade yt-dlp +``` + +macOS: + +```bash +brew upgrade yt-dlp +``` + +Linux/Python: + +```bash +python3 -m pip install -U "yt-dlp[default]" +``` + +Comprueba: + +```bash +yt-dlp --version +``` + +--- + +## spotDL no encuentra una canción + +Comprueba que yt-dlp funciona correctamente y actualiza spotDL: + +```bash +yt-dlp --version +``` + +```bash +python3 -m pip install -U spotdl +``` + +Después: + +```bash +spotdl --download-deno +``` + +--- + +# 9. Resumen de comandos + +## yt-dlp + +### Vídeo + +```bash +yt-dlp "URL" +``` + +### Mejor vídeo + audio + +```bash +yt-dlp -f "bv*+ba/b" "URL" +``` + +### MP4 + +```bash +yt-dlp -f "bv*+ba/b" --merge-output-format mp4 "URL" +``` + +### MP3 + +```bash +yt-dlp -x --audio-format mp3 "URL" +``` + +### Ver formatos + +```bash +yt-dlp -F "URL" +``` + +### Playlist + +```bash +yt-dlp "URL_PLAYLIST" +``` + +### Subtítulos + +```bash +yt-dlp --write-subs --sub-langs "es" "URL" +``` + +### Actualizar + +```bash +yt-dlp -U +``` + +--- + +## spotDL + +### Canción + +```bash +spotdl "URL_SPOTIFY" +``` + +### Álbum + +```bash +spotdl "URL_ALBUM" +``` + +### Playlist + +```bash +spotdl "URL_PLAYLIST" +``` + +### Ayuda + +```bash +spotdl --help +``` + +### Actualizar + +```bash +python3 -m pip install --upgrade spotdl +``` + +### Instalar Deno + +```bash +spotdl --download-deno +``` + +--- + +# 10. Consideraciones legales + +Estas herramientas son software de descarga y procesamiento multimedia. Su utilización debe respetar: + +- Los derechos de autor. +- Los términos de servicio de las plataformas. +- Las leyes aplicables en tu país. +- Los derechos del propietario del contenido. + +Una descarga puede ser técnicamente posible y, aun así, no estar autorizada para determinados contenidos. + +Utilízalas con contenido propio, contenido con licencia adecuada, dominio público o contenido cuya descarga esté permitida. + +--- + +# Referencias oficiales + +- **yt-dlp:** https://github.com/yt-dlp/yt-dlp +- **Instalación de yt-dlp:** https://github.com/yt-dlp/yt-dlp/wiki/Installation +- **spotDL:** https://github.com/spotDL/spotify-downloader +- **Documentación de spotDL:** https://spotdl.github.io/spotify-downloader/ +- **FFmpeg:** https://ffmpeg.org/ +- **Python:** https://www.python.org/ +- **Deno:** https://deno.com/ + +--- + +# Atajo: instalación completa + +## Windows + +```powershell +winget install yt-dlp +winget install -e --id Gyan.FFmpeg +``` + +Instala Python desde: + +https://www.python.org/downloads/windows/ + +Después: + +```powershell +python -m pip install spotdl +spotdl --download-deno +``` + +## macOS + +```bash +brew install yt-dlp +brew install ffmpeg +brew install python + +python3 -m pip install spotdl +spotdl --download-deno +``` + +## Ubuntu/Debian + +```bash +sudo apt update +sudo apt install yt-dlp ffmpeg python3 python3-pip + +python3 -m pip install spotdl +spotdl --download-deno +``` + +## Comprobación final + +```bash +yt-dlp --version +ffmpeg -version +spotdl --version +deno --version +``` + +Si los cuatro comandos devuelven una versión, tienes instalada la cadena completa: + +```text + ┌─────────────┐ + │ Spotify │ + └──────┬──────┘ + │ + ▼ + ┌───────┐ + │ spotDL│ + └───┬───┘ + │ + ▼ + ┌──────────┐ + │ yt-dlp │ + └────┬─────┘ + │ + ▼ + ┌──────────┐ + │ FFmpeg │ + └────┬─────┘ + │ + ▼ + Archivo local +``` + +> **Nota:** spotDL utiliza fuentes externas para obtener el audio; no convierte las descargas offline de Spotify en archivos MP3.