Youtube-dl es una utilidad de línea de comandos para descargar videos o extraer archivos de audio de sitios web de streaming como YouTube, DailyMotion y Vimeo. Youtube-dl está escrito usando Python, y es de dominio público.
Para instalar youtube-dl en distribuciones de GNU/Linux como Debian, Ubuntu, Linux Mint, etc:
monedasdejudas@linuxmint ~ $ sudo aptitude install youtube-dl
Para instalar youtube-dl en distribuciones de GNU/Linux como Debian, Ubuntu, Linux Mint, etc:
monedasdejudas@linuxmint ~ $ sudo aptitude install youtube-dl
Copia y pega el siguiente código que aparece en letra cursiva entre barras en un archivo plano de texto con el siguiente nombre youtube-dl.sh
#!/bin/bash
# Script para bajar videos de Youtube, DailyMotion y Vimeo con youtube-dl
# Fuente: http://blog.desdelinux.net/youtube-dl-tips-que-no-sabias/
function menu
{
echo 'Script para youtube-dl'
echo
echo '____________________MENU__________________________'
echo
echo
echo 'Lista de opciones:'
echo
echo '1) Descarga video en un formato'
echo '2) Descarga vídeo en todos los formatos'
echo '3) Descarga urls de videos de archivo de texto'
echo '4) Descarga video a través de proxy'
echo '5) Actualización de youtube-dl'
echo '6) Salir del programa'
echo '__________________________________________________'
}
function write_option
{
echo
echo 'Escribe una opción de 1 a 6:'
read write_option
}
function one_format
{
echo 'Introduce una url de un video de youtube'
read urlyoutube
echo
echo 'Lista de formatos:'
echo
echo '37 - mp4 [1080x1920]'
echo '46 - webm [1080x1920]'
echo '22 - mp4 [720x1280]'
echo '45 - webm [720x1280]'
echo '35 - flv [480x854]'
echo '44 - webm [480x854]'
echo '34 - flv [360x640]'
echo '18 - mp4 [360x640]'
echo '43 - webm [360x640]'
echo '5 - flv [240x400]'
echo '17 - mp4 [144x176]'
echo
echo 'Ejemplo: el número de formato mp4 [270x128] es 22'
echo
echo 'Introduce el ńumero asociado al formato:'
read formatnum
youtube-dl --format $formatnum $urlyoutube
}
function all_formats
{
echo 'Introduce una url de un video de youtube:'
read urlyoutube
youtube-dl --all-formats $urlyoutube
}
function urls_text_file
{
echo 'Introduce el directorio con el nombre del archivo:'
read dir_file
youtube-dl -a $dir_file
}
function url_proxy
{
echo 'Introduce una url de un video de youtube:'
read urlyoutube
echo
echo 'Lista de formatos:'
echo
echo '37 - mp4 [1080x1920]'
echo '46 - webm [1080x1920]'
echo '22 - mp4 [720x1280]'
echo '45 - webm [720x1280]'
echo '35 - flv [480x854]'
echo '44 - webm [480x854]'
echo '34 - flv [360x640]'
echo '18 - mp4 [360x640]'
echo '43 - webm [360x640]'
echo '5 - flv [240x400]'
echo '17 - mp4 [144x176]'
echo
echo 'Introduce el ńumero asociado al formato:'
read formatnum
echo
echo 'Ejemplo de url de proxy y puerto: http://192.168.0.1:3128'
echo
echo 'Introduce la url de un proxy y el puerto:'
read urlproxy_port
youtube-dl --format $formatnum --proxy $urlproxy_port $url_de_youtube
}
function update
{
sudo youtube-dl -U
}
write_option=0
go_out=6
while [ $write_option -ne $go_out ];
do
clear
menu
write_option
if [ $write_option -ge 1 ] && [ $write_option -le 6 ];
then
clear
case $write_option in # Acciones para las diferentes opciones del menu
1)
one_format
;;
2)
all_formats
;;
3)
urls_text_file
;;
4)
url_proxy
;;
5)
update
;;
6)
echo 'Salir del programa'
esac
else
echo "¡No ha introducido una opcion correcta!"
fi
echo
echo "Pulse una tecla..."
read
done
Concede permisos de ejecución al Shell script en bash para que pueda ejecutarse:
monedasdejudas@linuxmint ~ $ sudo chmod +x youtube-dl.sh
Ejecuta el Shell script:
monedasdejudas@linuxmint ~ $ bash youtube-dl.sh