martes, 10 de abril de 2012

DownVideo - Mi script para descargar videos

He fabricado este script basado en youtube-dl para poder automatizar los procesos de descarga, dejaré tanto un link para descargar el script, como el script en si para que lo pudieran ver:

#!/bin/bash
#Author: Nicolás Ormeño
#Date: 2012/04/10
user=`whoami`
echo "Bienvenido " $user
echo "---------------"
read -p "Elija directorio para la descarga: " path
if [ ! -d $path ]; then
        echo "El directorio no existe"
exit
else
        cd $path
fi
read -p "Descargar Video o solo audio (video/audio)? " va
read -p "¿Descargar desde contenedor? (s/n) " container
if [ $container = s ]; then
read -p "Indique contenedor: " pathContainer
elif [ $container = n ]; then
read -p "Indique link a descargar: " link
else
echo "Error al contestar, por favor elija s o n"
fi
if [ $va = video ]; then
read -p "¿Buscar máxima calidad? (s/n) " quality
if [ $container = n ]; then
if [ $quality = n ]; then
echo "`youtube-dl --console-title --title $link`"
exit elif [ $quality = s ]; then
echo "`youtube-dl --console-title --title --max-quality=FMT $link`"
exit
fi
elif [ $container = s ]; then
if [ $quality = n ]; then
echo "`youtube-dl --console-title --title -a $pathContainer`"
exit
elif [ $quality = s ]; then
echo "`youtube-dl --console-title --title --max-quality=FMT -a $pathContainer`"
exit
fi
fi
elif [ $va = audio ]; then
read -p "Elija formato de audio: (acc, mp3, best): " format
if [ $container = n ]; then
if [ $format = acc ]; then
echo "`youtube-dl --console-title --title --extract-audio --audio-format=acc $link`"
exit
elif [ $format = mp3 ]; then
echo "`youtube-dl --console-title --title --extract-audio --audio-format=mp3 $link`"
exit
elif [ $format = best]; then
echo "`youtube-dl --console-title --title --extract-audio --audio-format=best $link`"
fi
elif [ $container = s ]; then
if [ $format = acc ]; then
echo "`youtube-dl --console-title --title --extract-audio -a $pathContainer`"
exit
elif [ $format = mp3 ]; then
echo "`youtube-dl --console-title --title --extract-audio --audio-format=mp3 -a $pathContainer`"
exit
elif [ $format = best ]; then
echo "`youtube-dl --console-title --title --extract-audio --audio-format=best -a $pathContainer`"
exit
fi
fi
fi
También pueden descargarlo desde:
http://www.4shared.com/file/XCwytq9W/DownVideo.html?
Luego de descargarlo de damos permiso de ejecución:
$ chmod +x DownVideo.sh
Ahora simplemente lo ejecutamos
 $ sh DownVideo.sh
El método de ejecución del Script es sumamente sencillo, en primer lugar deben tener instalado youtube-dl para poder ejecutar dicho script, al menos en Debian la instalación es:
$ sudo aptitude install youtube-dl
Luego simplemente siguen los pasos que va pidiendo el Script, en primera instancia preguntará la ruta donde queramos dejar el fichero descargado, por ejemplo seleccionamos:
/home/usuario
Despues preguntará si queremos descargar el video o solamente el audio de este, debemos seleccionar “video” o “audio” según corresponda.

Luego nos preguntará si lo descargamos de un contenedor o no. Un contenedor es un archivo que contiene todos los link, por ejemplo:
$touch videos
$echo "http://www.youtube.com/watch?v=v0SrkOzo0kQ&feature=player_embedded" >>videos
Por lo que ven, es un archivo que simplemente tiene los link de todos los videos que queremos descargar. En el caso que no que queramos solo descargar 1 link, le decimos que no queremos descargar desde contenedor, así nos dira que ingresemos el link e ingresamos la url del video.

Después vienen opciones de video o audio.

El porcentaje de progreso y el tiempo estimado de la descarga la pueden ver en la barra de titulo de la terminal.

Espero les sirva de utilidad, cualquier pregunta la pueden realizar y responderé sin ningún problema.

10 comentarios:

hola. soy novato, me gustaria que me ayudara, haber si tu puede completar los datos del script, para yo poder subirlo a mi servidor y ejecutaldo..
Cuando me refiero todo el script, es los complemetos que falta , ya sea en html, o php, es decir que solo tendria que subirlo... por favor ayudame...

Este comentario ha sido eliminado por el autor.

Para subirlo a tu servidor web, lo que se me viene a la mente es que debes basarte en el pero no lo podrás usar, me explico, por ejemplo en php, deberas crear una interfaz, y que desde php ejecutes comandos de linux, si no me equivoco es con el comando exec.

Yo tengo una web , y quiero inscrustrar esos codigo, la idea es que cuando yo incruste varios video en una pagina, debajo de esos videos, tenga un botton, que diga : DESCARGAR VIDEO O MP3.... algo asi, haber que si me puedes ayudar, porfavor........ Gracias

lo que deberias hacer es por ejemplo crear la interfaz que tenga datos como:

dropdown con calidad
dropdown con que quiere bajar (video/audio)
adjuntar fichero (en el caso que se suba de un fichero)
y asi con todos los valores.

Luego crear un evento en el boton, mediante if, de la misma forma que tengo yo, puedes ir validando las opciones, para esto también puedes ir ocupando javascript.

gracias por tu explicacion,tengo ya tengo la idea. pero lamentablemente, no tengo mucha experienca aun,para hacer el script, no se si para usted, seria facil, y lo haga, sin tener que quitarle mucho de su tiempo, pero de lo contrario , tendria que leer mas y documentarme mejor, cosa que quiero hacer, pero que en este momento necesito tenerlo preparado, ya que mi web lo subiré en unos dias, por eso necesito esa ayuda.... Yo he buscado mucho , pero lo que ehcontrado ya no funcionan,

Mira, yo también he querido lanzar esto a una aplicación web, pero lamentablemente no he tenido tiempo ya que estudio y trabajo, pero no tengo ningún problema en ayudarte.

Si no tienes conocimientos en programación te será complicado, pero la verdad es que para realizar esto no creo que se complique mucho.

Te puedo decir que partas leyendo html. que aprendas el formato de html, su sintaxis, a crear los textbox, textarea, dropdownlist, botones, submit, reset, que es lo más básico.

también luego ve las opciones de cada uno, por ejemplo un input puedes darle el valor de hidden, onblur, etc.

Luego lee un poco sobre html, para que veas lo fácil que se ha vuelto cosas sencillas como inserción de vídeos en web (tengo un articulo publicado sobre eso)

Luego lee un poco de php , y ve como hacer ejercicios simples, por ejemplo, mostrar texto en pantalla, ocultar, ciclos while, for, etc.

Todo ese conocimiento te servira para hacer esto, quizás suene que es mucho, pero la verdad es que no es tanto.

Por último, aprende a usar los comandos de Linux en Php. y con eso estarias listo.

2 buenas páginas que encuentro son:

http://htmlya.com.ar
http://phpya.com.ar

Saludos

y cualquier duda solo pregunta ;)

Creo si, me a yudado con su explicacion, y veo que es la mejor solucion, voy a tomar sus consejo, y de verdad le agradadesco su atencion, no se imagina lo importame que es cuando recibino orientacion.... Gracias!!!!! y estaré visitando mas a menudo su Sitio, ademas tienes cosas interesantes....

Gracias a ti por visitarlo, y si te puedo ayudar, ningún problema.

Si, eso intento, que el sitio sea interesando :D, aunque ahora como he estado con poco tiempo no he podido subir mucho material.

Entiendo, Gracias compañero. cuando tenga duda sobre codigos, le preguntare, jejeje........chao!!!

Publicar un comentario