¿Cuántas veces has querido guardar un vídeo para verlo sin conexión, extraer el audio de una entrevista para escucharla en el coche, o hacer una copia de seguridad de un tutorial antes de que desaparezca de la plataforma? Las webs de "descargar vídeo de YouTube" que encuentras en Google funcionan un día y al siguiente no, te llenan la pantalla de anuncios y a veces hasta piden tu tarjeta de crédito. Existe una alternativa mucho mejor, gratuita, de código abierto y que no depende de ningún servicio externo: se llama yt-dlp y corre directamente en tu terminal.

En este tutorial vas a aprender qué es yt-dlp, cómo instalarlo en cualquier sistema, cómo descargar vídeo en la máxima calidad posible y cómo extraer audio a MP3. Todo con ejemplos reales que puedes probar en cinco minutos.


¿Qué es yt-dlp y por qué se ha convertido en el estándar?

yt-dlp es un programa de línea de comandos que permite descargar vídeo y audio de más de mil ochocientos sitios web. Nació como un fork de youtube-dl —la herramienta original, que llevaba años sin mantenimiento— y desde entonces se ha convertido en el proyecto de referencia. No es una exageración: hablamos de uno de los repositorios más populares de GitHub, con cientos de miles de estrellas y millones de descargas mensuales.

Su éxito se debe a tres cosas:

  • Mantenimiento constante: el proyecto publica una versión nueva aproximadamente cada dos semanas. Cuando YouTube o cualquier otra plataforma cambia algo internamente y rompe las descargas, no tardan en salir parches.
  • Soporte masivo de sitios: además de YouTube, funciona con cientos de plataformas de vídeo, redes sociales y servicios de streaming. Un solo comando, mil ochocientos destinos.
  • Es terminal pura: no hay ventanas, ni anuncios, ni "botón de descargar" de un tercero. Tú controlas exactamente qué descargas, en qué formato y con qué calidad.

Instalación en Windows, Linux y macOS

La buena noticia es que yt-dlp se instala en segundos en cualquier sistema. Como está escrito en Python, la vía más universal es el gestor de paquetes de Python:

ice-tech
pip install yt-dlp

Si usas Linux, también está en los repositorios de tu distribución:

ice-tech
# Debian / Ubuntu
sudo apt install yt-dlp

# Arch Linux
sudo pacman -S yt-dlp

En Windows, además de pip, puedes descargar el ejecutable independiente desde la página oficial del proyecto en GitHub y añadirlo a tu PATH, o instalarlo con winget:

ice-tech
winget install yt-dlp.yt-dlp

El requisito invisible: FFmpeg

Hay una pieza que yt-dlp necesita para funcionar al 100%: FFmpeg. Este programa se encarga de fusionar el vídeo y el audio en un solo archivo, y de convertir formatos (por ejemplo, de WebM a MP3). Sin él, muchas descargas fallan justo en el último paso.

  • En Linux: sudo apt install ffmpeg
  • En Windows: descárgalo desde ffmpeg.org y añade la carpeta bin al PATH
  • En macOS: brew install ffmpeg

Puedes comprobar que todo está listo con yt-dlp --version y ffmpeg -version. Si ambos responden, ya puedes descargar.


Tu primera descarga

El uso básico es tan simple como pasarle la URL:

ice-tech
$ yt-dlp -x --audio-format mp3 "https://www.youtube.com/watch?v=TU_VIDEO"

[youtube] Extracting URL: https://www.youtube.com/watch?v=TU_VIDEO
[youtube] TU_VIDEO: Downloading webpage
[info] TU_VIDEO: Downloading 1 format(s): 251
[download] Destination: nombre-del-video.webm
[download] 100% of 4.3MiB in 00:05
[ExtractAudio] Destination: nombre-del-video.mp3
[ExtractAudio] Post-processed to mp3
✓ Descarga y extracción completadas

En este ejemplo, la bandera -x le dice a yt-dlp que solo nos interesa el audio, y --audio-format mp3 que lo convierta a MP3 después de descargarlo. El archivo aparece en la carpeta donde has ejecutado el comando.


Controlar la calidad: listar formatos y elegir

Por defecto, yt-dlp elige la mejor calidad disponible. Pero a veces quieres decidir tú: un vídeo más ligero para el móvil, o el audio en su máxima fidelidad. Para ver todos los formatos disponibles de un vídeo, usa -F (mayúscula):

ice-tech
yt-dlp -F "https://www.youtube.com/watch?v=TU_VIDEO"

El comando devuelve una tabla con cada formato: su identificador, el contenedor, la resolución y el codec. Luego eliges con -f:

ice-tech
# Bajar solo el vídeo en 1080p
yt-dlp -f "bestvideo[height<=1080]+bestaudio" --merge-output-format mp4 "URL"

# Forzar una resolución concreta
yt-dlp -f "bv*[height=720]+ba" "URL"

La expresión bestvideo+bestaudio merece una explicación: en plataformas como YouTube, el vídeo y el audio viajan como flujos separados. yt-dlp descarga ambos y FFmpeg los fusiona en un único archivo. Es la forma de obtener la máxima calidad posible.


Extraer audio: el caso estrella

Para muchos usuarios, yt-dlp es simplemente "la forma de convertir vídeos en MP3". El comando es corto y se puede afinar mucho:

ice-tech
# MP3 de alta calidad (192 kbps)
yt-dlp -x --audio-format mp3 --audio-quality 0 "URL"

# Guardar con el nombre y metadatos del vídeo
yt-dlp -x --audio-format mp3 --embed-metadata "URL"

# Añadir la carátula del vídeo al archivo de audio
yt-dlp -x --audio-format mp3 --embed-thumbnail "URL"

La calidad 0 corresponde al valor más alto de VBR de FFmpeg (equivalente a unos 245 kbps). Si quieres archivos más ligeros, sube el número: --audio-quality 5 ronda los 165 kbps, suficiente para podcasts y entrevistas. Las opciones --embed-metadata y --embed-thumbnail incrustan el título, el autor y la carátula dentro del propio MP3, de modo que el archivo queda limpio y reconocible en cualquier reproductor.


Listas de reproducción y canales completos

Aquí es donde yt-dlp deja atrás a cualquier web de descargas. Pásale la URL de una lista de reproducción y descargará todos los vídeos de una vez:

ice-tech
# Lista completa
yt-dlp -f "bestvideo+bestaudio" "https://www.youtube.com/playlist?list=..."

# Solo el vídeo actual, aunque la URL sea de una lista
yt-dlp --no-playlist "URL"

# Los primeros 10 vídeos de una lista
yt-dlp --playlist-items 1-10 "URL"

Con el mismo mecanismo puedes archivar un canal entero o buscar por término:

ice-tech
# Canal completo (años de vídeos: ve con cuidado)
yt-dlp -f "bestvideo+bestaudio" "https://www.youtube.com/@canal/videos"

# Buscar y descargar los resultados
yt-dlp "ytsearch5:curso python para principiantes"

La sintaxis ytsearch5: hace una búsqueda en YouTube y descarga los cinco primeros resultados. Muy útil para automatizar descargas sin tener que copiar URLs a mano.


Subtítulos, miniaturas y metadatos

yt-dlp también es una herramienta de archivado. Puedes bajar los subtítulos junto con el vídeo, en el idioma que elijas:

ice-tech
# Subtítulos automáticos en español, incrustados en el archivo
yt-dlp --write-subs --sub-langs "es" --embed-subs "URL"

# Todos los subtítulos disponibles
yt-dlp --write-subs --sub-langs "all" "URL"

Y para tener una copia fiel del vídeo original, nada como bajar también la miniatura y guardar la descripción en un archivo de texto aparte:

ice-tech
yt-dlp --write-thumbnail --write-description --write-info-json "URL"

Con esto obtienes, junto al vídeo, su carátula, su descripción y un JSON con todos los metadatos técnicos. Es la receta perfecta para preservar contenido que sabes que puede desaparecer.


Uso responsable: una línea que conviene no saltarse

yt-dlp es una herramienta legal y de código abierto, pero eso no significa que todo lo que se pueda descargar con ella deba descargarse. Su uso más razonable es con contenido propio (tus propios vídeos, tu canal), material con licencia Creative Commons o de dominio público, o contenido que el autor ha autorizado explícitamente. Descargar y redistribuir contenido con copyright sin permiso sigue siendo ilegal en la mayoría de jurisdicciones, y no es algo que esta guía recomiende. Úsala como herramienta de archivado personal y de acceso a contenido libre, no como un atajo para saltarte los derechos de autor.


Conclusión

yt-dlp es de esas herramientas que, una vez que las pruebas, no entiendes cómo vivías sin ellas. Un solo binario, instalable en cualquier sistema, te da descargas de vídeo en máxima calidad, extracción de audio a MP3, archivo de listas y canales, y subtítulos — todo desde la terminal, sin anuncios ni páginas de terceros. Y como el proyecto se mantiene activo, puedes confiar en que seguirá funcionando cuando las plataformas cambien sus reglas.

Si quieres profundizar, el siguiente paso natural es combinarlo con los cron jobs de tu sistema para automatizar descargas periódicas, o usar su sistema de configuración con un archivo de preferencias para no repetir las mismas banderas en cada comando. Pero eso ya es material para otro tutorial: con lo que has visto hoy, ya tienes el 80% del poder de la herramienta.