Aquí va un script que he hecho para descargar vídeos de YouTube y convertirlos a .avi directamente.
Algunas versiones del programa wget tienen un bug que hace que el script no funcione. El parche del programa que corrige el bug puede descargarse aquí.
Para utilizarlo es tan simple como ejecutarlo pasándole como parámetro la URL del vídeo que se quiere descargar. Por ejemplo:
./gettube http://www.youtube.com/watch?v=iCAFl_tqw1w
./gettube 'http://www.youtube.com/watch?v=iCAFl_tqw1w&search=night%20of'
Script:
#!/bin/bash if [ $# -lt 1 ]; then echo "Uso: $0 <url del video>" 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 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 if [ $? != 0 ]; then rm -f ${FILE}.flv exit 1 else ffmpeg -i ${FILE}.flv ${FILE}.avi fi fi rm -f /tmp/${FILE}
Elaborado por Nacx para ADSLAyuda.com