Como bajar varios archivos de Youtube en batch.

Hace unos dias por alguna razón estaba buscando música de videojuegos en Youtube y me empezó a dar flojera bajar uno por uno, así que hice un script para bajar varios videos, quitarles el video y dejar solo el audio y terminar eliminando archivo .flv original. Este tutorial es para Linux o incluso podría jalar en Cygwin, necesitas lo siguiente:
- El script youtube-dl (para instalar: apt-get install youtube-dl).
- ffmpeg (para instalar: apt-get install ffmpeg).
- El siguiente script. (DESCARGALO)
#!/bin/bash
n=`wc -l lista|awk ‘{print $1}’`
c=1
l=”lista”
l2=listas/${l}.`date +”%Y%m%d%H%M”`for i in `cat $l`
do
echo “$c de $n”
youtube-dl -t -q “$i”
c=$(($c + 1))
donefor j in *.flv
do
on=`basename $j .flv`.mp3
ffmpeg -i “$j” -vn -acodec copy $on
done
rm ./*.flv
Este script es muy básico y no válida muchas cosas, pero hace lo que debería, lo podría hacer cualquier persona en 5 minutos o menos… Este script necesita un archivo que se llama “lista” y dicho archivo contiene los urls de los videos que desees descargar (1 url por linea), por ejemplo:
Contenido del archivo “lista”:
http://www.youtube.com/watch?v=Yix5fxaQStc
http://www.youtube.com/watch?v=ZUoI8nHeuJk
Después que tengas listo tu archivo llamado “lista”, ejecuta el script:
./d.sh
El script dejará los archivos .mp3 en el directorio donde lo ejecutes
.
Errores conocidos.
- Si el codec de audio del archivo de video original no es mp3 este script funcionará pero el archivo de audio posiblemente no puedas reproducirlo en windows por la extensión erronea O_o. Solo hay que hacer unos ajustes en el comando ffmpeg (pero ya medio flojera, eso sera en la version 1.1) (NO HAY QUE HACER MUCHO CASO A ESTE PUNTO).
- No valido si tengo permiso para escribir en el directorio de ejecución, si no es así, tronará… Asegurate de tener permiso de escritura en el directorio donde lo ejecutes…
- Varios más, pero funciona!!!.
Dudas? comentarios?