Crear una radio online (Cap. Final)
Bien, con esto finalizamos. Debemos hacer que el script BASH grabe tantas horas como se le pidió. El contador se irá incrementando en 1 con cada hora grabada, por lo cual, mientras el valor de ese contador sea menor a la cantidad de horas ingresadas por la persona, se repetirá el proceso una y otra vez, automáticamente.
#esto sería así, por ejemplo:
while [ $contador -lt "$canthoras" ]
do
# aquí iría la información de cara al usuario, la grabación y la subida de nuestro archivo al servidor de Internet
done
Veamos lo que va entre while ("mientras tanto"), do (hacer) y done (hecho)
# hay que volver a definir las variables de tiempo, dado que la grabación
# puede cambiar justo de mes o día, mientras se está ejecutando…
ANIO00=`date +%y`
ANIO="20$ANIO00"
MES=`date +%m`
DIANUM=`date +%d`
#echo "$ANIO/$MES/$DIANUM" # debug
HORA=`date | cut -b12-13`
MIN=`date | cut -b15-16`
DIANOMBRE=`date | cut -b 1-3`
# esto incrementa el valor del contador en 1, con cada ciclo del while
contador=`expr $contador + 1`
# el archivo ahora cambió de nombre, dado que cambió el minuto, la hora, quizá el día
# incluso quizá el mes y el año:
archivo="$DIANOMBRE$DIANUM$MES$ANIO-$HORA-$MIN-hs.ogg"
#Informamos al usuario qué estamos haciendo y qué haremos:
echo "Hemos grabado: $contador horas
Grabaremos un total de $canthoras horas
Nombre del archivo: $archivo
Grabando… (presiona control+c para abortar)"
#Procedemos a grabar:
ecasound -t:$tiempo -i:/dev/dsp -o:$archivo,56000
# Infomamos y subimos el archivo
# Subiendo el resultado a un servidor web http://ftp.nuestro_sitio.com/users/miusuario
echo "Subiendo el audio grabado al servidor web http://ftp.nuestro_sitio.com/users/miusuario, y continuando con la grabación…"
lftp ftp.nuestro_sitio.com -u nombre_usuario,clave -e "mput $archivo -O /Radio_FM_$DIANOMBRE$DIANUM$MES$ANIO/; bye" &
# Luego de eso, viene el done que finaliza el while [ $contador -lt "$canthoras" ]; do
done
Todo listo!
Al comenzar, pensé que sería más breve la explicación… pero llevó su tiempo, espero que le sea útil a alguien como introducción a la programación en BASH, e incluso como un caso de aplicación práctica y concreta en la realidad de una radio.
Desde ya que existen mejores soluciones.
Tener en cuenta que cada archivo Ogg se irá guardando en el directorio en el que ejecutamos el script, que eso ocupará bastante espacio (20Mb por hora) tanto en el disco rígido local como en el servidor web, y que merece ser tenido en cuenta a la hora de hacer copias de seguridad, etc.
– Manual para una radio en Internet (Cap. 1)
– Guía para grabar programas de Radio en Internet Cap. 2)
– Problemas de tener una radio online (Cap. 3)
– Radio en Internet: Programación en BASH (Cap. 4)
– Programando una radio en Internet (Cap. 5)
– Radio en Internet: Compresión de audio (Cap. 6)
– Subir programas de radio a Internet (Cap. 7)
– Crear una radio online (Cap. 8)
Por Marcos Guglielmetti, el 04/08/2008.