Bueno, no es el script más prolijo pero cumple su función

Para hacerlo funcionar, copiar el código a algun editor de texto, y guardar el archivo como youtube.sh, luego le damos permisos de ejecución desde la terminal: chmod 755 youtube.sh
Se ejecuta desde la terminal ingresando ./youtube.sh y luego introduciendo el id del video, por ejemplo en http://www.youtube.com/watch?v=2mCoOlUjhlc, el id es 2mCoOlUjhlc
Para que funcione la conversión a mpg se debe tener instalado ffmpeg, para instalarlo en Ubuntu: sudo apt-get install ffmpeg
Código:
dijo:
#!/bin/bash
rm -f youtube.tmp
echo Please, enter video id
read VIDEOID
echo Ok, looking for video path...
wget -nv --output-document=youtube.tmp http://www.youtube.com/watch?v=$VIDEOID
if [ ! -f youtube.tmp ]
then
echo Video does not exist
else
echo Downloading video...
VIDEOPATH=`grep -o "var fullscreenUrl = .*;" youtube.tmp`
LENGTH=$((${#VIDEOPATH} - 40))
wget --output-document=video.flv http://www.youtube.com/get_video?${VIDEOPATH:38:$LENGTH}
echo Download has finished
echo Converting video...
ffmpeg -i video.flv -s 320x240 video.mpg
rm -f video.flv
echo Done!
fi
rm -f youtube.tmp
Código (sin conversión a mpg, no requiere ffmpeg):
#!/bin/bash
rm -f youtube.tmp
echo Please, enter video id
read VIDEOID
echo Ok, looking for video path...
wget -nv --output-document=youtube.tmp http://www.youtube.com/watch?v=$VIDEOID
if [ ! -f youtube.tmp ]
then
echo Video does not exist
else
echo Downloading video...
VIDEOPATH=`grep -o "var fullscreenUrl = .*;" youtube.tmp`
LENGTH=$((${#VIDEOPATH} - 40))
wget --output-document=video.flv http://www.youtube.com/get_video?${VIDEOPATH:38:$LENGTH}
echo Download has finished
fi
rm -f youtube.tmp
Otros posts que te van a interesar:
- youtube-- descarga videos increiblemente facilmente!!!
- Auto Video Script - monta tu web de videos Ya
- Script en PHP para descargar videos de YouTube
- El 2 video mas visto de youtube (temas descarga)
- YouTube Descarga Video 2.5.3 Full
- Pasar video a un ipod con el E.M. Youtube Video Donwloader
- Pasar video a un ipod con el E.M. Youtube Video Donwloader
- Descargar video, pasarlo a ipod -EM Youtube Video Donwloader
- Descargar video, pasarlo a ipod -EM Youtube Video Donwloader
- Descargar video, pasarlo a ipod -EM Youtube Video Donwloader
dijo:
#!/bin/bash
VIDEOID=$1
if [ \"$VIDEOID\" == \"\" ] ; then
echo \"Usage: youtube.sh video_id\"
exit 1
fi
rm -f /tmp/youtube-$USER.tmp
echo \"Ok, looking for video path...\"
wget -nv --output-document=youtube.tmp http://www.youtube.com/watch?v=$VIDEOID
if [ ! -f youtube.tmp ] ; then
echo \"Video does not exist\"
exit 1
fi
echo Downloading video...
VIDEOPATH=`grep -o \"var fullscreenUrl = .*;\" youtube.tmp`
LENGTH=$((${#VIDEOPATH} - 40))
wget --output-document=video.flv http://www.youtube.com/get_video?${VIDEOPATH:38:$LENGTH}
echo \"Download has finished\"
rm -f /tmp/youtube-$USER.tmp
Entonces ejecutamos, por ejemplo: youtube 2mCoOlUjhlc
Me equivoque en lo que quise mejorar! Aqui la versión corregida.
dijo:
#!/bin/bash
VIDEOID=$1
if [ \"$VIDEOID\" == \"\" ] ; then
echo \"Usage: youtube.sh video_id\"
exit 1
fi
rm -f /tmp/youtube-$USER.tmp
echo \"Ok, looking for video path...\"
wget -nv --output-document=youtube.tmp http://www.youtube.com/watch?v=$VIDEOID
if [ ! -f /tmp/youtube-$USER.tmp ] ; then
echo \"Video does not exist\"
exit 1
fi
echo Downloading video...
VIDEOPATH=$(grep -o \"var fullscreenUrl = .*;\" /tmp/youtube-$USER.tmp)
LENGTH=$((${#VIDEOPATH} - 40))
wget --output-document=video.flv http://www.youtube.com/get_video?${VIDEOPATH:38:$LENGTH}
echo \"Download has finished\"
rm -f /tmp/youtube-$USER.tmp
Te dejo puntines.

tambien estaria bueno bajar el nombre del video y ponerselo pero me dio paja 
dijo:
#!/bin/bash
TEMPFILE=\"/tmp/youtube-$USER.tmp\"
VIDEOID=$1
if [ \"$VIDEOID\" == \"\" ] ; then
echo \"Usage: youtube.sh video_id\"
exit 1
fi
rm -f $TEMPFILE
echo \"Ok, looking for video path...\"
wget -nv --output-document=$TEMPFILE http://www.youtube.com/watch?v=$VIDEOID
if [ ! -f $TEMPFILE ] ; then
echo \"Video does not exist\"
exit 1
fi
VIDEOPATH=$( grep -o \"var fullscreenUrl = .*;\" /tmp/youtube-$USER.tmp )
LENGTH=$((${#VIDEOPATH} - 40))
TITLE=$( grep -o \"<title>.*</title>\" $TEMPFILE | sed \'s|<title>\\(.*\\)</title>|\\1|\' | sed \'s/ //g\' )
if [ \"$TITLE\" == \"\" ] ; then
$TITLE=\"video\"
fi
TITLE=\"${TITLE}.flv\"
echo \"Downloading video on file $TITLE ...\"
wget --output-document=$TITLE http://www.youtube.com/get_video?${VIDEOPATH:38:$LENGTH}
echo \"Download has finished\"
rm -f $TEMPFILE
nano .bashrc
y escrivir
alias youtube=\'sh /home/usuario/Escritorio/scrit-youtube.sh\'
guardar control+o y cerrar control+x
reiniciar el terminal y escrivir radio
y luego el id...










Buen aporte!