Descargar videos de YouTube es una pregunta clásica de muchos usuarios. He visto “programitas” que hacen esta tarea, también he visto como hacerlo con el mismo navegador por medio de plugins o con un poco de ingenio.
Pero nada se compara con un pequeño shell script escrito en bash que solo requiere que tengas instalado el wget. Con este script, descargar un video es tan simple como ejecutar el nombre del script y la URL del video de YouTube:
El script y una breve explicación a continuación:
if [ $# -lt 1 ]; then
echo “Uso: $0 “
exit 1
fi
ID=`echo $1 | cut -d= -f2 | cut -d& -f1`
FILE=“youtube-${ID}”
BASE_URL=“http://youtube.com/get_video.php”
wget -O /tmp/${FILE} $1
#si no dio error el wget ($? valor de retorno del programa que termino)
if [ $? == 0 ]; then
T_PARAM=`grep ‘&t=’ /tmp/${FILE} | head -n 1 | awk -F‘&t=’ ‘{print $2}’ | cut -d& -f 1`
VIDEO_URL=“${BASE_URL}?video_id=${ID}&t=${T_PARAM}”
wget -O ${FILE}.flv $VIDEO_URL
#echo “wget -O”${FILE}“.flv “$VIDEO_URL
fi
rm -f /tmp/${FILE}
- Se puede ver en primera instanacia el usage message para aquel desprevenido que se olvide del argumento.
- Luego, vemos como con el uso de cut se encarga de obtener de la URL dada como argumento (http://www.youtube.com/watch?v=nSyWqCdqCZ0 ) el id del video, para nuestro ejemplo: nSyWqCdqCZ0.
- Luego descarga la URL (nuestro argumento) y la guarda en el /tmp/youtube-id_del_video (en nuestro ejemplo, /tmp/youtube-nSyWqCdqCZ0)
- Si el wget no falló (if [ $? == 0 ]; then) obtiene el parámetro que debe enviar junto al id del video en la URL http://youtube.com/get_video.php
- Finalmente, con wget descarga el video y lo guarda en el directorio activo bajo el nombre de youtube-id_del_video.flv (en nuestro ejemplo youtube-nSyWqCdqCZ0.flv)
Si no te interesa la explicación no importa, pero no dudes en probarlo pues funciona de maravillas.
Vía: eOs’s Blog

Bernardo Villaseñor
abril 12, 2009
También existe el script “youtube-dl” muy bueno por cierto, bajo la mayoria de los videos en alta calidad, y extención mp4.
Luciano
abril 12, 2009
Se agradece el aporte Bernado.
Un saludo!
Luciano
abril 12, 2009
Ampliando el comentario de Bernardo, youtube-dl está escrito en Python, son unas mil y pico líneas de código, pero es mucho menos amateur y con más prestaciones que el script que presentamos aquí.
La página oficial aqui
La última versión a la fecha aqui
Y el manual en español aqui
Informático de Guardia
abril 17, 2009
No está mal pero personalmente prefiero no tener que depender de programas externos (o scripts que a fin de cuentas viene a ser lo mismo) para estos menesteres.
Hay una forma sencilla de descargar vídeos de youtube (o similares como google video) sin instalar programas.
Espero que os sea de utilidad, un saludo
SLP
junio 12, 2009
Muchas gracias, en mi caso he tenido que entrecomillar el & en el script para que funcionase, es decir, cambiar cut -d& -f1 por cut -d”&” -f1
(tambien se pueden omitir este cut, y funciona igual)
un saludo