youtube-dl es una utilidad de Python que permite bajar vídeos de Youtube y multitud de sitios desde la línea de comandos. Es Python puro, con lo cual lo único que necesita es tener instalado en intérprete, pudiéndose instalar en cualquier sistema operativo. En el README tiene el proceso de instalación. Sin embargo, yo prefiero instalarlo dentro de un entorno virtual con ayuda de virtualenv y pip:
baldurgate: terron$virtualenv youtube-dl
baldurgate: terron$source youtube-dl/bin/activate
(youtube-dl)baldurgate:terron$pip install youtube-dl
Utilizarlo es muy sencillo. Lo único que hay que hacer es pasar la URL de Youtube - o del servicio que nos interese -, youtube-dl se conectará, bajará el HTML lo analizará y bajará los distintos videos. Se puede llamar a la utilidad con youtube-dl url. En el caso de Youtube, que es donde lo he probado, puede bajarse listas o vídeos individuales. Por ejemplo, si me quiero bajar todos los vídeos de la lista del 75 aniversario Ejército del Aire, basta con pasar como url la lista:
(youtube-dl)baldurgate:terron$youtube-dl "https://www.youtube.com/playlist?list=PLFoJHJL75dfY42pevKzfeuhFG8iNq8QzL"
Para bajar un vídeo bastaría con introducir la url
(youtube-dl)baldurgate:terron$youtube-dl "https://www.youtube.com/watch?v=LF0rKW1DEMo"
El uso de la " es para evitar problemas con el shell a la hora de interpratar algunos caracteres especiales que pueden aparecer en las urls de los videos.
Esto es el uso básico, lo interesante de la utilidad es la multitud de opciones que tiene, que nos permite filtrar los videos que nos queremos bajar en base a fechas o expresiones regulares, procesar los vídeos si tenemos el ffmpeg o avconv instalado, soporte para distintos esquemas de autentificación, proxies, ... se puede consultar las opciones con ayuda de -h o --help. Comentar que en el fichero de documetación hay instruciones para poder extender el programa con nuevos sites y como compilarlo para que se pueda distribuir fácilmente. Por último decir que el programa es de dominio público, pudiéndose usar para lo que se desee.