Archivos de la categoría ‘Bash’

Bash Script 0.1

Publicado: 21 diciembre 2009 en Bash, Tutoriales
Etiquetas:, ,

Estos son mis primeros pasos en bash, buscando una idea en la cual implementar lo que había leído sobre parámetros y condiciones en bash, retome lo que hace unos dias hice acerca de descargar archivos de youtube bueno pensé si la proxima vez lo hago no quiero estar escribiendo tantas veces las mismas lineas y escribiendo los mismo parámetros (” Que eso ayuda a recordar los comandos “), o estar bajándolos vídeos primero en formato FLV y luego convertirlos Masivamente, así que el día de hoy traigo un pequeño Script bash que permite hacer la Descarga y Conversion del archivo en una sola linea

#!/bin/bash
#Bajar Video
#BajarArchivo.sh
youtube-dl -o “$2”.flv  http://www.youtube.com/watch?v=”$1″
if [ $3 -eq 0 ]; then
ffmpeg -i “$2”.flv -f avi  -acodec copy “$2”.avi
else
ffmpeg -i “$2”.flv -f mp3 -vn  -acodec copy “$2”.mp3
fi

Ejemplo y Explicación:

$ BajarArchivo.sh  ID-Video Nombre-Archivo Tipo

$ ./BajarArchivo.sh IwraLnS8Ybs DiosdePactos 0

Para que el script funcione correctamente usted debera de ingresar 3 parámetros dejando un espacio entre cada uno el primero es el ID del video en Youtube, el segundo es el nombre del archivo que desea que tenga al momento de descargarse y el tercero es el tipo actualmente siendo un script sencillo solo convierte a avi y a mp3.

Paquetes necesarios:

  • ffmpeg, youtube-dl, lame

Los parametros que coge el script son introducidos en la misma linea de comando  ($1, $2, $3), lo cual facilita mucho el desarrollo del mismo.

PD: Al Script deben otorgarle  permisos de ejecución para poder utilizarlo con $ chmod +x BajarArchivo.sh

Anuncios

Aprendiendo Bash.

Publicado: 19 diciembre 2009 en Bash, Tutoriales
Etiquetas:, , ,

A veces uno no comprende cuando la gente nos dice Googleen y busquen referencia acerca de su inconveniente y prueben.. esas palabras muchas veces suenan duras por que como personas desesperadas andamos buscando una solucion en el momento a nuestros problemas y no nos ponemos a pensar cuando tiene la otra persona a la cual consutlamos:

Bueno pues entre Googleando y Preguntando siguiendo con la lista de canciones que me toco bajar me vi a la tarea de convertirlos todos de flv a mp3 pero despues de haber pasado 4 ya estaba aburrido de escribir las mismas lineas de codigo asi que me puse a buscar en internet y encontre ayuda sobre como automatizar dicho proceso con Bash

Codigo:

#!/bin/bash
for i in *.flv; do ffmpeg -i $i -f mp3 -vn -acodec copy $i.mp3 ;done

Toco recordar sobre lazos repetitivos y adecuar la linea de comandos para convertir los archivo :

Explicando un poco el código:

  • La primera linea,  en realidad “#!/bin/bash“, llamar a nuestra shell BASH, que por lo general se ubica en /bin/bash
  • for i in *.flv; crea un lazo que se repite n cantidad de veces, es decir toma los archivos que se encuentran en una carpeta que cumplan con la condición de ser extensión flv y se repita hasta haberlos utilizado a todos.
  • do ffmpeg -i $i -f mp3 -vn -acodec copy $i.mp3; le dice que convierta a todos los archivos flv  1 x 1 de flv a mp3, es decir que si se deseara hacer esto para un solo archivo la linea seria algo asi:

$ ffmpeg -i cancion_formato.flv -f mp3 -vn -acodec copy cancion_formato.mp3

  • done: este controla el fin del ciclo repetitivo y pasa a la siguiente linea luego de haber cumplido con la condición.

La idea central de explicarlo tanto es para que no existan dudas y puedan utilizarlo sin ningun problema y que todos entiendan de mejor manera que hace .