Descargar videos de YouTube desde la consola en Linux (y de paso los convierte a AVI)

  • Iniciador del tema cafedelmar
  • Fecha de inicio
Excelente info, el código es el siguiente:
Código:
#!/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}
 
Muy buen dato, ya que algunos Add-ons de Firefox para bajar videos de Youtube no me estaban funcionando en el Iceweasel, algo que hacía era entrar a la carpeta oculta .mozilla, buscar los temporales y ahí encontraba los videos que iba viendo. Probé el script, pero el video resultante tiene una baja en la calidad del audio, por eso hice una pekeña modificación en la línea:

ffmpeg -i ${FILE}.flv ${FILE}.avi

Y ahora está así:

ffmpeg -i ${FILE}.flv -acodec copy ${FILE}.avi

Esto para que conserve la misma calidad de audio del clip original =) . Espero que a alguien le sea útil. :p

----------------------------------------------------------

P.D.: ocasionalmente, luego de la descarga del video cuando toca pasarlo a AVI, se me queda en:

Press [q] to stop encoding

A alguien más le ocurre esto...???
 
puse la correcion al codigo q dijo jeffrey83 pero ahora los archivos avi resultantes ya no funcionan bien, q sera?

P.D.: ocasionalmente, luego de la descarga del video cuando toca pasarlo a AVI, se me queda en:

Press [q] to stop encoding

A alguien más le ocurre esto...???

Nunca he tenido problemas con el codigo desde q puse su nuevo codigo para evitar la perdida de audio, no sera q por eso le esta molestando??

Este es el codigo con la correcion del audio, Esta bien escrito no?
#!/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 -acodec copy ${FILE}.avi
fi
fi

rm -f /tmp/${FILE}
 
No electronicpunk, el problema que menciono me sucedía desde antes de modificar el código, es que no tuve la precaución de aclarar eso antes. Como dije, eso me ocurre muy ocasionalmente. Aunque yo no hice todo lo que dice en el enlace, copié el código e hice un script (más mi pekeño cambio), le dí permisos de ejecución y lo guardé en la carpeta de mis videos, luego hice un lanzador que me abriera la consola directamente en mi carpeta, y de ahí ejecuto el script....... Más práctico.... :p
 
Buena por esa, ya me estaba preguntando si se podia hacer esto con algun plugin embebed de firefox pero veia que no, cada ves estoy mas impresionado de linux.

Lo probe pero al convertir a mpeg sale esto

/usr/local/bin/getyoutube: line 24: ffmpeg: orden no encontrada
 
ask123 dijo:
Buena por esa, ya me estaba preguntando si se podia hacer esto con algun plugin embebed de firefox pero veia que no, cada ves estoy mas impresionado de linux.

Lo probe pero al convertir a mpeg sale esto

/usr/local/bin/getyoutube: line 24: ffmpeg: orden no encontrada

Según eso, creo que te falta instalar el ffmpeg, ya que la consola no está reconociendo el comando allí invocado.
 
ffmpeg -i ${FILE}.flv ${FILE}.avi

Y ahora está así:

ffmpeg -i ${FILE}.flv -acodec copy ${FILE}.avi

Esto para que conserve la misma calidad de audio del clip original . Espero que a alguien le sea útil.

Que buen aporte ahora ya si me funciono reinstalando el ffmpeg desde el synaptic, ahora q no hay perdida de calidad de audio es perfecto bajar los videos desde la consola por la facilidad y la conversion automatica a AVI
 
Cuando llegue a la casa lo pruebo, aunque lo quiero convertir en formato MP4 o en WMV para verlo en el XBOX
 
Muchas gracias, yo siempre dispuesto a ayudar, así como muchos otros que me ayudaron cuando me iniciaba en este fantástico mundo, y que siguen ayudándome. :)
 
ask123 dijo:
Buena por esa, ya me estaba preguntando si se podia hacer esto con algun plugin embebed de firefox pero veia que no, cada ves estoy mas impresionado de linux.

Lo probe pero al convertir a mpeg sale esto

/usr/local/bin/getyoutube: line 24: ffmpeg: orden no encontrada

Como hago para convertir ese video que ya baje a formato mpeg???
 
/usr/local/bin/getyoutube: line 24: ffmpeg: orden no encontrada


alguien sabe por que me sale esto , y donde quedanls videos descargados ??
 
/usr/local/bin/getyoutube: line 24: ffmpeg: orden no encontrada


alguien sabe por que me sale esto , y donde quedanls videos descargados ??
no se por que sale esto ya tengo el ffmpeg instalado
 

Los últimos temas