Descargar videos de youtube: youtube-dl

Sé que llego tarte, muy tarde, a esta guerra; pero la verdad es que no había estado reclutado anteriormente.
Siempre que había querido descargar algún video de Youtube para ver con más calma sin conexión -rara la vez- tiraba de JDownloader y con un poco de suerte -no siempre a la primera- conseguía mi propósito.
Resultaba un pelín tedioso, coger la url, meterla en el "capturador de enlaces" y esperar a que hubiera suerte. Y como la última vez no hubo suerte intenté buscar alguna otra alternativa en forma de extensión para navegador, pero ninguna pareció gustarle a Chrome ni a mi equipo. Así que, siguiendo los consejos del gran MarcosBL, me dispuse a probar la herramienta definitiva para estos menesteres: youtube-dl.
Se trata, para más medallas, de un script en Python que funciona a las mil maravillas. Además, funciona tanto aislado como en un virtualenv a través de pip, ¿qué más se puede pedir?. Por pedir...
- Descargar videos
- Descargar listas de videos
- Descargar todos los videos de un canal
- Seleccionar formatos de salida
- Seleccionar calidades
La instalación, como os decía, es muy simple, podemos hacerlo de 2 formas, bien de forma aislada o a través de pip:
$ sudo curl https://yt-dl.org/downloads/2013.11.07/youtube-dl -o ~/youtube-dl
$ sudo pip install --upgrade youtube_dl
Aunque la documentación oficial no es ninguna maravilla, la ayuda en linea del propio script es increíble. Y para muestra un botón:
# Video download
$ youtube-dl -ciw http://www.youtube.com/watch?v=nU4rUOleCfA
# Playlist download
$ youtube-dl -ciw -f mp4 http://www.youtube.com/playlist?list=PLF74A4167AFC339DE
# Channel download
$ youtube-dl -ciw ytuser:desarrollowebcom
Por comentar alguna de sus infinitas opciones que uso en los ejemplos anteriores:
- -c: continuar descargas interrumpidas.
- -i: ignorar errores.
- -w: no sobreescribir archivos existentes.
- -f: formato de salida.
- --max-quality|-b: máxima calidad.
No sé vosotros, pero yo acabo de descubrir un mundo de potencia al alcance de -como no- una linea de comandos. Por enésima vez.
Update: En este artículo comparan los mejores downloaders de Youtube para MacOS.