May 27

Alucino, según leo en este post, Adobe y Flash Player 10 nos trae mas sorpresas como el nuevo protocolo de comunicación RTMFP que funciona bajo UDP (no TCP), y se muestra como alternativa mejorada al protocolo RTMP (basado en TCP) usado por Flash Media Server. Los dos son propiedad de Adobe, aunque el RTMP lo usan diferentes tecnologías de servidor de terceras partes como por ejemplo Weborb o Wowza Media Server entre otros.

Por otro lado las comunicaciones con Flash Player 10 llevarán integradas el códec de audio de alta calidad SPEEX, con el que según se dice, se podrán realizar aplicaciones de sonido y transmisión de voz mucho más potentes.

Pero bueno, a lo que iba el post..
Parece ser que Adobe implementará en un futuro próximo una red de servidores que implementen estas conexiones y que serán accesibles desde Flash Player 10 mediante los objetos de ActionScript “NetConnection” y “NetStream”.

Digamos que el proceso sería el siguiente:

  1. Un cliente swf (swf 1) establece una conexión con un server de Adobe
  2. El servidor le asigna al cliente una ID única y temporal
  3. Otros clientes pueden subscribirse a los eventos y streams del primero (swf 1), mediante dicha ID mientras la conexión siga abierta

Esa misma ID que se establece en la conexión servirá también como identificador para aplicaciones de chat u otras comunicaciones.

¡Gran noticia!

Ahora mismo con RTMP podemos enviar un stream de sonido o video (micrófono o webcam) a un servidor que lo propague (broadcast) a otros clientes swf. Con la nueva tecnología, se podrá enviar un stream directamente de cliente a cliente sin pasar por el servidor, lo que nos abre un mundo de posibilidades enorme.

Además, el envío de datos mediante “NetConnection.send()” no se limita a streamings, sino a cualquier tipo de datos (eso sí, con sus limitaciones de tamaño). Lo que quiere decir que ya no nos hace falta un servidor para hacer por ejemplo un chat, un juego de comunicación en tiempo real, etc.

La gran pega a todo esto es que si frente a nuestra conexión tenemos un firewall que bloquee el protocolo UDP, no funcionará.

Muchos se están preguntando si se podrá implementar una red P2P (peer to peer) con esta tecnología, pero según argumenta Justin Everett (Product Manager for Flash Player at Adobe), las redes peer to peer se basan en lectura y escritura de datos constante en disco duro, guardando en memoria las diferentes partes de los archivos cuando son necesarias. Con Flash Player 10 se puede cargar un archivo del disco duro al runtime, pero se tiene que hacer manualmente, y de uno en uno, por lo tanto el P2P queda descartado.

Y digo yo, que aunque queden descartados los intercambios masivos de datos, si que podríamos hacer un messenger con envío de archivos, un sistema de video conferencia con archivos compartidos entre los clientes, aplicaciones mejoradas de e-learning, juegos multiusuario que trabajen con imágenes y ficheros de usuarios en tiempo real, etc, etc, etc…, y todo como ya he dicho, sin programación de servidor de por medio.

Esperemos que Adobe ponga pronto a disposición los servidores de comunicaciones para que todo esto sea posible, y que se documente bien el Flash Player 10.

Ahí dejo eso, que cada uno saque sus conclusiones.

Dec 26

Flash Media Server Eclipse Plugin

Pues eso, una distribución de Eclipse que soporta edición de ActionScript para el lado del servidor Flash Media Server (archivos .asc). Este plugin me parece muy interesante por varios motivos. El más destacado de ellos es que tiene una consola integrada donde podemos trazar lo que queramos y publicar la aplicación sin salir de Eclipse, ver los errores, e ir directamente a la linea de error pulsando en el aviso de la consola. De esta forma no nos hace falta tener abierta la consola propia de Flash Media Server. Otra cosa muy curiosa es que podemos importar una clase de AS2 y éste la convierte a AS1. Además como es usual en Eclipse, hay comprobación contínua de sintaxis y auto completado de código.

Flash Media Server Eclipse Plugin