Instalación
Como ya comenté en otras entradas, el MediaServer está implementado como servicio IceGrid. Por ello, he distribuido un binario en forma de paquete DEB para Debian. Para poder instalarlo, añade lo siguiente en tu archivo /etc/apt/sources.list
deb http://babel.esi.uclm.es/gnesis/ unstable main
Una vez hecho esto tan solo hará falta hacer lo siguiente:
# aptitude update;
# aptitude install libaxismediaserver
Dicho paquete instalará las dependencias necesarias para hacer funcionar "el invento" y, además, incluye un fichero XML con la configuración mínima para poder cargarlo en IceGrid-GUI y ver como configurarlo. Dicho fichero se encuentra en /usr/share/doc/libaxismediaserver/template.xml
Puesta en marcha
Para la puesta en marcha supondré que tenemos una cámara Axis en la IP 192.168.0.5. El servicio se puede arrancar de dos formas: a mano, ejecutando icebox y pasándole un fichero de configuración con los parámetros correctos o bien utilizando IceGrid-GUI y la plantilla suministrada con el paquete.
Usando icebox y dicheros de configuración
Para arrancar el servicio "a mano" necesitaremos dos ficheros de configuración diferentes:
- El primero será en el que le especifiquemos a IceBox que librería cargar y una serie de configuraciones de administración de los servicios ejecutándose en ese IceBox.
- El segundo es el que IceBox pasará a la librería y que contendrá parámetros que utilizará el MediaServer para Axis para funcionar.
Ejemplo del primer fichero de configuración:
IceBox.Service.AxisMediaServer=AxisMediaServer:createAxisMediaServer --Ice.Config=config_AxisMediaServer
IceBox.InstanceName=AXIS.192.168.0.5
IceBox.LoadOrder=AxisMediaServer
Ice.Default.Locator=IceGrid/Locator:tcp -h locator.ip -p 4061
En este fichero deberíamos configurar el nombre del fichero pásado en la primera línea a nuestro servicio, si tuviera otro diferente, y el proxy del Ice.Default.Locator de la última línea. El nombre de instancia de IceBox no es problemático, pero si convendría adaptarlo a nuestro escenario.
El segundo fichero de configuración contendría información relativa a nuestro entorno:
AxisMediaServerAdapter.Endpoints=default
AxisMediaServer.IP=192.168.0.5
AxisMediaServer.User=user
AxisMediaServer.Password=pass
PropertySetFactory.Proxy=PropertySetFactory @ AutoPropertyService.Adapter
Ice.Default.Locator=IceGrid/Locator:tcp -h locator.ip -p 4061
Al igual que en el ejemplo anterior deberemos adaptar la configuración del Default Locator y, en este casi, de la propiedad "PropertySetFactory.Proxy". Para tener funcionando este servicio de propiedades podemos recurrir a la documentación del paquete libpropertyservice33.
Usando IceGrid y plantillas
Utilizando ZeroC Ice, existe la posibilidad de utilizar IceGrid. Esta utilidad es un servicio avanzado del middleware para la administración de grids de nodos que ejecuten diferentes servicios.
En el paquete libaxismediaserver se incluye un fichero template.xml. Este fichero puede abrirse utilizando IceGrid-Gui y utilizar las plantillas en él definidas para copiarlas a una aplicación dentro de nuestro registry.
La ubicación de dicha plantilla es la siguiente:
/usr/share/doc/libaxismediaserver/samples/template.xml