Descarga tus vídeos favoritos de Vimeo y YouTube desde tu shell

26 mayo 2010 Publicado por cLimbo
Empezamos primeramente con YouTube. 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.


Pues para el caso de Vimeo, uno de los sitios más populares, te traigo una práctica solución para la línea de comandos.

Descarga el script creado por Denver Gingerich (ossguy):

wget http://ossguy.com/video_hosts/vimeo_downloader.sh

Luego elige el vídeo y recupera su identificador. Por ejemplo, para descargar Big Buck Bunny, mira la URL del vídeo en Vimeo, http://vimeo.com/1084537, y descargalo así:

bash vimeo_downloader.sh 1084537


El vídeo es descargado en formato FLV. Luego puedes reproducirlo sin salir del shell con mplayer. Listo. ¿Puede ser más fácil? (Sí, ya sé, con un complemento para tu navegador…) He probado con vídeos disponibles y no para descarga desde el sitio, y el script funciona con éxito en ambos casos.



Vía | Bitelia