Descargar videos de YouTube de la forma más fácil

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:

youtubedownload.sh  http://www.youtube.com/watch?v=nSyWqCdqCZ0

El script y una breve explicación a continuación:

#!/bin/bash

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

5 comentario en este artículoDeje el suyo
  1. También existe el script “youtube-dl” muy bueno por cierto, bajo la mayoria de los videos en alta calidad, y extención mp4.

  2. Se agradece el aporte Bernado.

    Un saludo!

  3. 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

  4. 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

  5. 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

Deje su comentario

Por favor, ingrese su nombre

Por favor, ingrese un correo-e válido

Por favor, ingrese su mensaje

luauf.com 2012

WordPress