En este post instalamos un servidor Icecast2 en una máquina linux, comentando los parámetros que podemos utilizar para optimizar este servidor de audio o video.
Instalación
La instalación está hecha en una máquina que corra sobre Ubuntu/Debian. Primero haremos la instalación y después veremos como configurar la máquina o los ficheros que podemos tocar para modificar la configuración:
Ejecutando los comandos siguientes, instalaremos el servidor de audio o video en nuestra máquina:
sudo apt-get update
sudo apt-get install icecast2 ices2 vorbis-tools
También instalaremos Vorbis-tools que después comentaremos.
Para ver que se ha instalado correctamente, lanzamos el comando:
icecast2 –v
(nos mostrará la versión que hay instalada)
Formatos que soporta Icecast2
El servidor Icecast soporta streams de formatos Ogg Vorgis, MP3, Ogg Speex, Ogg FLAC, Ogg Theora y ACC, en este ejemplo utilizaremos formatos Ogg Vorbis.
Los ficheros ogg video/ogg, audio/ogg, application/ogg tienen asignados estas extensiones MIME .ogv, .oga, .ogx, .ogg
Transmisiones y Unicast
Unicast es un método de conexión uno a uno entre un cliente y un servidor. Unicast utiliza los protocolos IP, TCP y UDP. Cuando un cliente utiliza unicast para conectarse con un servidor mantienen una relación directa entre ambos.
Multicast es el envío de datos a varios equipos simultáneamente, habitualmente antes de realizar el envío se establecen una serie de parámetros para lograr una correcta transmisión que se denomina “group multicast”.
Configuración de Icecast2
Podemos editar el fichero de configuración con este comando:
sudo nano /etc/icecast2/icecast.xml
Editaremos el fichero xml, que entre otras cosas contiene las claves.
1 2 3 4 5 6 7 8 9 | <authentication> <!--Sources log in with username 'source' --> <source-password>transmisor</source-password> <!--Relays log in username 'relay' --> <relay-password>reenviador</relay-password> <!--Admin logs in with the username given below --> <admin-user>admin</admin-user> <admin-password>ElPasswordQueQuieras</admin-password> </authentication> ... <hostname>www.elservidor.local</hostname> |
En estas líneas puedes editar las claves para administrar el servidor desde la página web. También tienes las claves para reenviar la transmisión a otros servidores.
La directiva hostname será la ruta que utilizarán los usuarios para conectarse a tu servidor.
Estas son las descripciones de otras directivas que encontrarás dentro de este fichero:
• burst-on-connect
Con esta directiva envían una ráfaga de datos al cliente al empezar la conexión para llenar la caché que tienen algunos sistemas de reproducción de streaming.
• llistin-socket
Es una lista de socket desde los que puedes realizar el streaming
• logdir
Especifica la ruta del directorio de login, es dónde estarán los ficheros access.log y error.log
• webroot
Establece el directorio base donde tenemos que tener los archivos de sonido
• adminroot
Establece el directorio que utilizaremos para las tareas de administración
El servidor viene deshabilitado por defecto, así que para habilitarlo tendremos que editar el fichero /etc/default/icecast2 y poner la linea de habilitación a verdadero, sería así:
ENABLED = True
Arrancar y para el servidor
Para arranca y para el servidor debemos utilizar los comandos siguientes respectivamente:
sudo service icecast2 start
sudo service icecast2 stop
Si accedemos al servidor, poniendo el dominio (localhost) y el puerto, el navegador mostrará una pantalla parecida a esta:
Para entrar en el panel de administración de Icecast2, el servidor te solicitará el usuario y la contraseña que has puesto antes.