OpenMeetings: video-reuniones virtuales libres

Seguro que el lector conocerá Adobe Connect, un sistema de video conferencia web, propietario, con cliente Flash y servidor alojado en la infraestructura de Adobe. A través de ese sistema puedes participar online y en tiempo real en web-conferencias, usando recursos como audio (micro), vídeo (webcam), presentaciones (en PDF o PPT que se convierten a Flash), compartición de la pantalla de tu ordenador, o pizarra digital compartida. He participado en varias reuniones online con Adobe Connect y la verdad es que funciona estupendamente. La última vez que lo probé no funcionaba aún la compartición de pantalla en máquinas Linux, pero por lo demás, se oía y se veía bien, haciendo uso del plugin de Flash más moderno. Incluso cuando no podía acudir a alguna reunión, o bien quería recuperarla más adelante para revisar alguna cosa, Adobe Connect me permitía ver una grabación de lo que ocurrió. Como si de un vídeo de YouTube se tratara.

Espectacular. Bueno. Pero software cerrado, propietario hasta la médula, y de pago (bastante asequible, eso sí, para licencias de menos de 100 usuarios). La cuestión es que me apetecía comprobar si era posible montar algo similar basado en soluciones opensource. Que el servidor estuviera bajo mi control y que pudiera afinarlo para soporte de múltiples usuarios concurrentes. Que pudiera traducirlo (al euskera, por ejemplo) Y ya puestos a pedir, que se integrara con Moodle.

La parte buena: hay varias opciones en el mercado opensource. La parte mala: hay que trabajarse la instalación, configuración y puesta a punto de cada una de ellas. Pero hey! Con un buen café al lado todo es posible 🙂

Empecemos por la opción, en mi opinión, más potente: OpenMeetings. El código y los manuales están alojados en Google Project Hosting. También han montado un host con la aplicación instalada para demostración de capacidades.

¿Funcionalidades de OpenMeetings? Las mismas de Adobe Connect que he comentado (pizarra compartida, audio y video-conferencia, posibilidad de subir y convertir a formato Flash presentaciones PDF , PPT o ODP, panel de administración, posibilidad de grabar las sesiones….) y una más: soporte multiplataforma total. Es decir, aparte de poder grabar las sesiones, puedes compartir tu escritorio también desde una máquina Linux. Lo mejor de todo es que todo el paquete OpenMeetings está basado en software libre. Hace uso de Red5 para guardar y emitir vídeo y audio, gestionar las «rooms» de conferencias, etc. Para la conversión de documentos a formato Flash, hace uso de OpenOffice.org en modo servidor. Los vídeos los manipula haciendo uso de FFMPEG. El audio lo manipula con sox, y las imágenes con imagemagick. La parte cliente se ha desarrollado en Flash haciendo uso de OpenLaszlo (yo hubiera preferido Flex 4, pero … )

Por si todo esto fuera poco, el autor no para y ha desarrollado un módulo de integración con SugarCRM y otro de integración con Moodle. Por cierto, en la Moodle Moot de este viernes hablaré sobre las posibilidades de integrar plataformas de vídeo opensource con este sistema de eLearning :-), pero si quieres probar por tu cuenta, también hay una web de demostración disponible.

Bueno, a la chicha: ¿Cómo se instala OpenMeetings? Hay varias formas: compilar las fuentes, usar una máquina virtual o bien hacer uso de los binarios. Yo he usado los binarios (que San Ignucius me perdone). En concreto, la r3087. Descargamos el zip, descomprimimos y veremos que hay una carpeta red5. Dentro, daremos permisos de ejecución al script red5.sh.

Requisitos a tener en cuenta antes de proceder con la instalación propiamente dicha: necesitamos tener lanzado OpenOffice en modo servidor:

/path/to/openoffice/program/soffice.bin -headless -nofirststartwizard -accept="socket,host=localhost,port=8100;urp;StarOffice.Service"

Esto nos permitirá convertir ficheros de formato ODP o PDF (entre otros) a Flash, a través del interfaz de OpenMeetings.

También necesitaremos Ghostscript (yo lo tenía instalado de serie en Ubuntu 10.04), ImageMagick (ídem) y SWFTools. Éste último paquete no lo tenía y tampoco lo encontré vía APT, así que, me bajé los fuentes (versión 0.9.1.tar.gz), y tras descomprimir lancé el conjuro mágico:

./configure
make
sudo make install

FFmpeg y Sox ya los tenía. Sólo queda configurar MySQL (o el SGBD que uses) para OpenMeetings.
Buscamos dentro de red5/ el fichero mysql_hibernate.cfg.xml y lo renombramos como hibernate.cfg.xml
(normalmente situado en /webapps/openmeetings/conf/hibernate.cfg.xml)

Editamos el xml anterior y cambiamos tres líneas (lo que está en mayúscula, para ajustarlo a nuestra configuración):

  <property name="connection.username">LOGIN_DB</property>
                <property name="connection.password">PASS_DB</property>
                <property name="connection.url">jdbc:mysql://YOUR_HOSTNAME/YOUR_DATABASE</property>

Ahora lanzamos Red5 (haciendo uso del script ./red5.sh) y entramos desde el navegador al proceso de instalación:

http://localhost:5080/openmeetings/install

Interesante para la Universidad: hay una pestaña para soporte LDAP. Así que la posible integración de OpenMeetings con Moodle, haciendo uso de LDAP, sería más manejable …

Tras un rato (se tira unos minutos instalando las tablas de la BBDD necesarias) ya está todo listo para empezar a jugar 🙂 Eso lo dejo para mañana, ahora corto y cierro.

Experimentando con Red5

Sigo experimentando con Red5, el servidor Flash OpenSource . He compilado el código fuente tras descargarlo de Subversion desde la línea de comandos y ha funcionado (casi casi a la primera). He estado probando las demos durante un buen rato y algunas me han impresionado. Por ejemplo la de la imagen, en la que es posible guardar una videoconversación en el servidor Red5 para poder ser retransmitida más adelante (la esencia del funcionamiento de YouTube). Todo ello en Flash en el lado del cliente y en Java en el lado del servidor. Muy interesante…