Además de la emisión por streaming, básicamente, de un output audiovisual, el proyecto cuenta con toda una arquitectura, digamos que interior, sobre la que realizará las comunicaciones, y que permitirá básicamente, el control remoto y la acción/reacción telepresencial. Al hacerlo de este modo, es decir, por separado, conseguimos independencia de las fuentes y los protocolos y, por tanto, si hay fallos o deficiencias en la señal de streaming “general” del proyecto, eso no afectará a esta otra “arquitectura interna de comunicación” de la que ahora hablamos, que por otra parte, trabaja exclusivamente con datos, no con señal audiovisual, y por tanto, pesa mucho menos, además de ser una red de la que controlamos los puertos que necesita de manera directa y autónoma. Pasamos a especificar brevemente cómo funciona:
- emisores: se comunican a través de json con una base de datos que habilitamos para el proyecto, devolviéndole esta base de datos un archivo donde se confirman los envíos y constantan posibles errores, etc.
- servidor: donde está instalado un sencillo framework específico que desarrollamos para esta comunicación y es el que se encarga de recibir y enviar la información en json creando las correspondientes bases de datos en mysql
- receptores: a través del protocolo OSC los diferentes receptores pueden recibir y trabajar ya con los datos que llegan del servidor y utilizarlos para sus diferentes aplicaciones e interacciones (audio, video, actuadores). Este protocolo nos da mucha más precisión que el MIDI, p.e., y nos permite comunicar simultáneamente y sin cables toda la información, creando p.e. una red local.
De este modo, independizamos la transimisión e interacción de datos y, por tanto, la acción remota y telepresencial, de la emisión audiovisual de streaming, que tiene mucha más carga para el servidor. Esto no quiere decir que las interacciones generadas a través de la red interna no tengan una repercusión audiovisual, ya que los receptores, a la vez que reciben información via OSC de esta arquitectura interna, utilizan esta información para a su vez activar y/o modificar la señal audiovisual que están enviando al streaming público (o “externo”) del proyecto, generándose así la telepresencia o acción remota.
Puedes consultar el código de esta aplicación en el github de Alg-a.