Ambos servidores fueron creados por macromedia y sintetizan de manera concisa un método de transmisión de datos fluido (streaming) y un ambiente de desarrollo flexible lo que nos permite crear aplicaciones interactivas con mucha facilidad.
A pesar de ello se ha liberado una versión libre (open Source) de dichos servidores llamada red5, la cual promete brindar los mismos beneficios que el FSM o FCM con las cualidades que las herramientas open Source traen consigo.
Antes que nada es bueno aclarar que este tipo de servidores esta enfocados en la transmisión continua de Audio, Video y Datos con el fin de crear aplicaciones interactivas de alto rendimiento, así que si la idea es crear un servicio de Chat, un streaming de Video, o un juego en línea multi jugador , por ejemplo, esto es lo que estabas buscando.
A pesar de ser aplicaciones excelentes, FSM y FCS tienen un costo elevado, la ultima versión liberada por Adobe (Flash Media Server 2.0) ronda por los $4.500US lo cual es bastante costoso si además de su licencia se consideran las necesidades de Ancho de Banda y Hardware requeridas por un servicio de esta categoría.
EL SERVIDOR
Está elaborado en Java, actualmente se encuentra en su versión Alpha la cual incluye:
• AMF Remoting: Servidor de aplicaciones que permite la comunicación en red entre aplicaciones flash y servicios remotos, tales como JavaBeans, Coldfusion, ASP.NET o PHP, entre otros.
• Publicaciones en Vivo Continuas: La posibilidad de transmitir Datos en tiempo real.
• Grabaciones de audio y Video.
• Manipular y Compartir Objetos
• Protocolos RTMPT y RTMPS: Son protocolos usados inicialmente por FMS para lograr una comunicación entre el Flash Player y el servidor.
• Servidor de Sockets XML.
• Ejemplos Básicos y Documentación
INSTALACION
Lo primero es descargarse el servidor, este se encuentra en la pagina de osflash, una vez allí debemos ir a la sección de Updates y seleccionar la ultima versión disponible. Una vez hecho esto podremos escoger la versión para la plataforma sobe la cual queremos instalar el servidor. (Windows o Linux).
La descarga es de 23.6 Mb para plataformas Windows y de 31.7 Mb de fuentes para compilar en servidores de tipo Linux.
WINDOWS
Si la plataforma es Windows la instalación es bastante sencilla, se debe ejecutar el archivo setup-red5-0.4.1.exe, esto dara inicio al asistente, daremos clic en Next donde veremos las especificaciones de la licencia GNU (Lesser General Public License), aceptamos las indicaciones de dicha licencia y procedemos con el botón Next.
Allí se nos preguntara sobre donde deseamos instalar nuestro servidor, por defecto viene la ruta de Archivos de Programa en nuestro disco local, de todas formas dicha ruta es modificable, para hacerlo solo debemos dar clic en el botón Browse y escoger la ruta que mejor se nos acomode.
Realizado este paso veremos lo que se va a instalar en nuestras maquinas, por defecto están seleccionadas las tres casillas(main files, java source files y Flash sample source files), si es la primera vez que se va a utilizar el servidor es recomendable dejar marcadas las tres casillas, la primera son los archivos principales del servidor, es obligatorio que los incluyamos, la segunda son las fuentes de los archivos java que nos permiten montar un servicio dentro de nuestro servidor, por ultimo están las fuentes de flash las cuales nos sirven como base de ejemplo para empezar a desarrollar nuestras aplicaciones.
En el siguiente paso se nos preguntara si deseamos instalar el servidor como parte de un servicio, de ser así siempre se iniciara cuando arranquemos la maquina a menos que lo cambiemos, es recomendable dejar este parámetro elegido ya que nos será mas fácil iniciar o detener el servidor como explicaremos mas adelante.
Dado que es un servidor desarrollado y ejecutado sobre java es necesario que contemos con el Java Runtime Enviorement (JRE) el cual podemos bajar del siguiente link.
La instalacion del JRE es muy sencilla y no hace parte de esta explicacion, asi que si tienen dudas de como hacerlo pueden dirigirse a la pagina de Sun.
Necesitamos Java para asignar en el asistente la ruta en donde nuestro JRE fue instalado.
Finalmente se nos preguntara por los puertos RTMP, RTMPT, Remoting y HTTP servlet. El primero es el que usa el servidor para comunicarse con el plugin de flash, por defecto es el 1935, si no se tiene un firewall o Proxy que este bloqueando dicho puerto es mejor dejar el que esta por defecto, si si tiene un firewall o un Proxy tocara abrir un puerto y asignárselo al protocolo RMTP o abrir el 1935. El puerto RMTPT asignado por defecto es el 8080, es el túnel usado en caso de que no se pueda establecer una comunicación con el puerto de RMTP.
El puerto de remoting es el que usaremos para transmitir datos vía AMF remoting con nuestro servidor, por defecto esta marcado el 5080 pero si ya usamos otro servidor que use Remoting, como por ejemplo Coldfusion es mejor que asignemos otro puerto, al igual que si contamos con un Proxy o un firewall que bloquee dicho puerto.
Y finalmente esta el puerto HTTP servlet, por defecto esta marcado el 5080 y es el que usaremos para que nuestro servidor (basado en java, por eso lo de servlet) logre transmitir y recibir datos de nuestras aplicaciones.
De igual forma podemos asignar una IP antes del valor del puerto, así que si contamos con un servidor con múltiples IP’s o varios servidores podremos asignar dentro de cada uno de estos el puerto que queramos usar, así si por ejemplo tenemos un servidor dedicado exclusivamente a remoting podremos usar la sintaxis IP_SERVIDOR:PUERTO
Una vez asignados todos los pasos veremos una pantalla de resumen de nuestra configuración, ya solo nos queda dar click en install y esperar al que servidor sea instalado.
LINUX
Antes que nada habrá que asegurarse que ya tengamos el jdk1.5 de Sun, de no ser así puede ser descargardo de este link. en donde tambien se encuentran las instrucciones de instalación.
Una vez hecho esto deberemos bajar he instalar apache-ant, para ello bajaremos el archivo .zip y lo descomprimimos en alguna carpeta del sistema, por ejemplo /usr/ant.
Una vez instalado Java y ant procederemos a descargar red5.
Despues de descargar las fuentes debemos descomprimidas.
Código :
tar –xvf red5-0.4.1.tar.gz
Esto nos creara una carpeta red5-0.4.1 la cual tendrá los contenidos de red5, de igual forma tomaremos dichos contenidos y los copiaremos en /opt/red5
Iremos a nuestro directorio /opt/red5 y una vez allí ejecutaremos ant para que nuestro proyecto sea creado
Código :
/usr/ant/bin/ant
Finalmente pondremos nuestro servidor en marcha ejecutando
Código :
./red5.sh
Para verificar que todo funcione correctamente y se estan haciendo las llamadas a los puertos correctos podemos ejecutar
Código :
netstat –ant
De no ser así deberemos modificar el archivo red5.properties ubicado en /opt/red5/conf
Para mas información sobre el archivo red5. properties podremos dirigirnos a este link
INICIANDO EL SERVICIO
Si se ha instalado como un servicio de Windows no habrá mayor problema para Iniciar o Detener el servidor, solo se debe ir “Servicios”, ya sea escribiendo en Ejecutar “services.msc” sin las comillas, o mirando en panel de control, herramientas administrativas y ahí a daremos click en servicios. Una vez allí deberá haber un servicio llamado red5 el cual podemos detener o iniciar a nuestro antojo.
Acá podemos modificar si queremos que el servidor inicie automáticamente cuando arrancamos nuestra maquina, para ello daremos doble clic sobre el nombre del servicio (red5), esto nos abrirá una ventana donde se nos muestran algunas característica de dicho servicio. Iremos a la casilla de selección marcada como “Tipo de Inicio” en donde podremos elegir entre las opciones Manual, Automático o Deshabilitado. En Manual deberemos nosotros arrancar el servicio cada vez que queramos siguiendo los anteriores pasos y dando clic en el botón iniciar, en automático el sistema se encargara de iniciar el servicio cada vez que prendamos nuestra maquina y en deshabilitado el servicio nunca arrancara.
En el caso de linux el servidor se inicia cuando ejecutemos el comando ./red5.sh estando en el directorio /opt/red5.
PROBANDO RED5
Una vez instalado he iniciado el servicio se puede probar el servidor, si se instalaron los ejemplos solo se debe ir a la carpeta de instalación de red5 y abrir la carpeta swf allí ubicada, ya con cualquiera de estos swf’s se debe probar el botón de conexión, si recibimos una conexión satisfactoria es que todo funciona perfectamente.
Una forma de probarlo de manera local es abrir dos veces un mismo swf, por ejemplo el swf de BallControl (el de la Imagen), nos conectamos a ambos y en cualquiera de los dos movemos la imagen de red5. Si contamos con una red local podemos compartir la carpeta de swf’s, ejecutar en la maquina local el swf de BallControl y conectarnos, en la maquina en red abriremos el mismo swf que debe estar en la carpeta compartida, antes de conectarnos debemos cambiar el parámetro de rmtp://localhost/SOSample, dado que ya nos es la maquina local (localhost) es imposible que nuestra maquina en red encuentre ese servicio, por tal razón deberemos ir a la maquina en donde esta el servidor instalado, ir a ejecutar, escribir cmd (command) y en la consola escribir ipconfig, una vez hecho esto veremos la IP de dicha maquina, por ejemplo 192.168.0.50. Ya con esta IP iremos a la maquina en red y en el swf del Chat escribiremos rmtp://192.168.0.50/SOSample, y ahí si damos clic en conectar.
Dado el caso que los swf’s de ejemplo no se estén conectando habrá que revisar varios parámetros:
1.) Hemos arrancado el servidor red5 en nuestro sistema?
2.) Están abiertos los puertos de RMTP, RMTPT o RMTPS?
3.) En la barra de dirección de rmtp estamos poniendo localhost en una maquina remota?
Esta es solo una breve introducción a lo que es posible lograr a través de este servidor, se puede encontrar mucha mas información el documentación o en la misma pagina del proyecto.
También existe una guía de migración entre FCS/FMS a Red5 en este link