Ayer le tocó a Vimeo, hoy a YouTube (¿se nota lo que he querido hacer estos últimos días?). El protagonista de esta nueva historia es un comando llamado youtube-dl: un script de casi 2000 líneas programado en Python por Ricardo Garcia Gonzalez et al.

El comando youtube-dl es multiplataforma y ejecutable desde cualquier sistema operativo. En Windows tendrás que instalar Python y si no me equivoco su funcionamiento debe ser el mismo. Aquí nos concentraremos en hacerlo desde Linux.

El comando youtube-dl ofrece características que te pueden ser de mucho interés y utilidad. Aquí solo revisaremos un puñando de todas ellas.

Descarga de vídeos en distintos formatos: 3gp, mp4, flv. Obtención de URL de descarga. Limitación de la tasa de descarga. Reanudación de sesiones. Descarga vídeos en fila (por lotes). Descarga de vídeos con usuario y contraseña.

Instalación

Siempre que comienzo esta sección entro en el dilema de "¿qué distribución debo tomar como referencia? ¿Fedora, Ubuntu, Arch, Gentoo?" Luego me respondo "Creo que es mejor que sea con la distro más popular..." Entonces resuelvo el dilema asumiendo -quizá de manera equivocada- que tal distro "más popular" entre los lectores de Bitelia se llama Ubuntu. No tengo datos duros para sostener esa afirmación, tal vez los consiga después, pero esa es otra historia. Bien, pues hoy no será la excepción y asumiré Linux de la familia Debian para la instalación de nuestro comando de la semana.

    sudo apt-get install youtube-dl

Uso

Vamos a descargar Big Brother Google (Me encanta). Solo debes indicar la URL en el shell y esperar que termine la descarga de vídeo en formato FLV.

    $ youtube-dl http://www.youtube.com/watch?v=1qqI6BhmmkM
    [youtube] Setting language
    [youtube] LtOlUTmpG0Q: Downloading video info webpage
    [youtube] LtOlUTmpG0Q: Extracting video information
    [download] Destination: LtOlUTmpG0Q.flv
    [download]   7.8% of 7.05M at  104.31k/s ETA 01:03

Aquí uso mplayer para reproducir el vídeo (ver imagen):

   $ mplayer LtOlUTmpG0Q.flv

La calidad del formato FLV puede no serte satisfactoria, entonces descarga la versión con la mejor calidad posible valiéndote de la opción -b. Aquí el ejemplo:

   $ youtube-dl -b http://www.youtube.com/watch?v=1qqI6BhmmkM
   [youtube] Setting language
   [youtube] LtOlUTmpG0Q: Downloading video info webpage
   [youtube] LtOlUTmpG0Q: Extracting video information
   [... más salida ...]
   [download] Destination: LtOlUTmpG0Q.mp4
   [download]  17.1% of 7.35M at   92.13k/s ETA 01:07

Puedes ser más específico: -m para la versión móvil y -d para vídeo de alta definición.

En ocasiones te será útil la URL de descarga para utilizarla con otros comandos (como wget) y gestores de descarga sofisticados. La opción -g es la adecuada en ese caso:

$ youtube-dl -g http://www.youtube.com/watch?v=1qqI6BhmmkM

http://www.youtube.com/get_video?video_id=1qqI6BhmmkM&t=vjVQa1PpcFNKq8Y3lZyGbbc0l0xdy98rwwpkt0xSBao=&eurl=&el=detailpage&ps=default&gl=US&hl=en

Esta es mi parte favorita. Reúne tus URL en una archivo de texto y haz que youtube-dl lo lea para descargar los vídeos, uno por uno, con la opción -a. En este ejemplo descargo las dos partes de "Le voyage dans la lune", del gran Georges Méliès. El archivo se llama "videos.txt" y contiene estás dos líneas: http://www.youtube.com/watch?v=xbGd_240ynk y http://www.youtube.com/watch?v=ndQ0FKa92J8.

   $ youtube -a videos.txt
    [youtube] Setting language
    [youtube] xbGd_240ynk: Downloading video info webpage
    [youtube] xbGd_240ynk: Extracting video information
    [download] Destination: xbGd_240ynk.flv
    [... más salida ...]

Así, como seguro ya estás planeando, podrás descargar vídeos de YouTube toda la noche sin necesidad de atenderlos.

Breves conclusiones

El comando youtube-dl es, como decimos en mi país, bueno, bonito y barato. Un indispensable para respaldar tus vídeos favoritos.

Más guías y consejos

Recibe cada mañana nuestra newsletter. Una guía para entender lo que importa en relación con la tecnología, la ciencia y la cultura digital.

Procesando...
¡Listo! Ya estás suscrito