Lo nuevo en el plugin de Jitsi v4.6

La versión 4.6 del plugin mod_jitsi es, probablemente, la actualización más grande desde que existe el aprovisionamiento automático en GCP. Afecta a cuatro frentes muy distintos pero complementarios: grabaciones, inteligencia artificial sobre los vídeos, sesiones privadas entre usuarios y un sistema de horario de tutorías. Vamos por partes.

1. Grabaciones en GCP: el pool de Jibris

Qué es Jibri

Jibri es el componente oficial de grabación de Jitsi Meet. Es una máquina virtual separada que se conecta a la sala como un participante invisible, captura vídeo y audio con Chrome y lo guarda como un fichero MP4.

El punto de partida: en 4.5 no se grababa en los servidores de GCP

Hasta la versión 4.5, los servidores Jitsi aprovisionados automáticamente en GCP por el plugin no soportaban grabación: no se desplegaba ningún Jibri junto a ellos y la función de grabar/streaming simplemente no estaba disponible en esas máquinas. Si querías grabar una clase tenías que montar y mantener tu propio Jibri por fuera del plugin.

La solución en 4.6: un pool de Jibris gestionado

En la 4.6 los servidores GCP del plugin tienen un pool de máquinas Jibri. Funciona así:

  • El administrador configura el tamaño del pool (por ejemplo, 2 Jibris disponibles a la vez).
  • El plugin mantiene siempre ese número de Jibris en estado listo (idle), arrancados y esperando.
  • Cuando un profesor empieza a grabar, uno de los Jibris del pool se pone en marcha y el plugin crea automáticamente uno nuevo para reponer el hueco, de forma que siempre hay uno libre.
  • Cuando la grabación termina, el Jibri vuelve a idle y el que se había creado para reponer ya está listo para la siguiente grabación.

Arranque rápido desde imagen GCP

La primera vez que se crea un Jibri, el proceso completo (instalar paquetes, Java, Chrome, ajustar el kernel, etc.) tarda unos 10-15 minutos. Para evitar esa espera en los reemplazos, el plugin crea automáticamente una imagen de GCP (snapshot) del primer Jibri una vez que está operativo. Los siguientes Jibris del pool arrancan desde esa imagen y están listos en 1-2 minutos.

Monitor de estado en tiempo real

Cada Jibri lleva un servicio instalado (jibri-monitor) que monitoriza cada 2 segundos el estado de la grabación local (consultando la API interna de Jibri en el puerto 2222). Cuando Jibri empieza a grabar, el monitor llama automáticamente a Moodle con el nuevo estado (BUSY). Moodle actualiza el pool y, si hace falta, encola la creación de un nuevo Jibri de inmediato, sin esperar al siguiente ciclo del cron.

Cuando la grabación termina, el script de finalización de Jibri llama a Moodle con la URL del fichero, que se importa automáticamente a la actividad Jitsi correspondiente.

Grabación en Google Cloud Storage

Las grabaciones pueden guardarse directamente en Google Cloud Storage, lo que las hace accesibles de forma permanente desde cualquier lugar, sin depender de que el servidor Jibri esté encendido. La URL de la grabación es del tipo https://storage.googleapis.com/... y es pública y permanente.

Lo que ve el administrador

En la página de gestión de servidores hay nuevas columnas y controles:

  • Estado de cada Jibri del pool (idle / grabando / aprovisionando / error)
  • Número de Jibris activos vs. tamaño deseado del pool
  • Posibilidad de añadir o quitar Jibris manualmente
  • Los botones de grabación y streaming en la sesión solo se muestran cuando hay al menos un Jibri disponible (si todos están aprovisionando, los botones se ocultan para evitar confusión)

2. Inteligencia Artificial sobre las grabaciones

Las grabaciones almacenadas en GCS tienen acceso a tres funciones de IA basadas en Gemini 2.5 Flash (Vertex AI):

Resumen automático

El profesor puede pedir un resumen en texto de la grabación. El plugin envía el vídeo directamente a Gemini usando la URI gs:// del bucket —lo que permite procesar ficheros grandes sin límites— y recibe un resumen estructurado del contenido de la clase. El resumen se genera en el idioma de la sesión del usuario.

Cuestionario automático

Con un clic, el plugin genera un cuestionario de verdadero/falso en Moodle a partir del contenido de la grabación. El cuestionario se crea como una actividad Quiz dentro del mismo curso, con el número de preguntas configurado por el administrador. Los alumnos pueden acceder directamente desde la pestaña de la grabación.

Transcripción con marcas de tiempo y capítulos

El plugin transcribe el audio completo de la grabación e inserta:

  • Marcas de tiempo clicables al inicio de cada intervención (formato [MM:SS] o [HH:MM:SS] para vídeos largos). Al hacer clic se salta directamente a ese punto del vídeo.
  • Encabezados de capítulo (### Nombre del capítulo) cuando el tema cambia de forma significativa, para poder navegar por el contenido de la clase.

Los alumnos pueden ver el resumen, el cuestionario y la transcripción generados por el profesor. El profesor ve el botón para generar; el alumno ve el contenido una vez generado.

3. Sesiones privadas: ahora con historial y notificaciones

Las sesiones privadas permiten que cualquier usuario del Moodle (profesor, alumno, administrativo) pueda hacer una videollamada 1 a 1 con cualquier otro usuario que comparta al menos un curso visible.

Cómo funciona

  • En el perfil propio aparece un enlace para abrir la página de búsqueda y llamadas (call.php).
  • En el perfil de otro usuario aparece un enlace directo para iniciar la videollamada (solo si compartís al menos un curso).
  • La sala de videollamada es simétrica: da igual quién llame a quién, los dos aterrizan en la misma sala ({sitio}-priv-{idMenor}-{idMayor}), así que no hay duplicados.

Historial de llamadas

La página call.php muestra el historial de las últimas llamadas: avatar, nombre y fecha de la última vez que hablaste con cada persona. Desde ahí puedes iniciar una nueva llamada directamente.

Notificaciones de llamada entrante

Cuando alguien entra en tu sala privada:

  • Recibes una notificación popup de Moodle de inmediato.
  • Si tienes las notificaciones Web Push activadas (botón en call.php), también recibes una notificación en el navegador aunque no tengas Moodle abierto en ese momento.
  • En la página call.php hay un modal de llamada entrante que aparece automáticamente (con tono de llamada) cuando alguien entra en tu sala, con botones de Unirse o Ignorar.

4. Horario de tutorías

Probablemente la funcionalidad más práctica del día a día para los centros educativos.

El problema que resuelve

Los profesores reciben mensajes de alumnos preguntando "¿puedo llamarte ahora?". No había forma fácil de saber si el profesor estaba disponible para una tutoría en ese momento.

Cómo funciona el horario

Los profesores pueden definir su horario de disponibilidad en una nueva página (tutoringschedule.php):

  • Por cada curso que imparten, pueden añadir franjas horarias (día de la semana + hora de inicio + hora de fin).
  • El horario se gestiona de forma independiente por curso.

Cuando un alumno va a llamar a un profesor:

  • Si el profesor tiene horario de tutorías definido, el plugin comprueba si en ese momento está en hora de atención.
  • Si está disponible, la llamada procede normalmente.
  • Si está fuera de su horario, el alumno ve un aviso con cuándo será la próxima franja disponible y no puede iniciar la llamada.

Indicadores de disponibilidad

En la página de búsqueda y en el historial de llamadas, los profesores con horario de tutorías muestran un badge de disponibilidad: verde si están en horas de atención ahora mismo, o con el texto de la próxima franja si no lo están. Así el alumno sabe de un vistazo si merece la pena intentar llamar.

Integración con las sesiones privadas

El sistema de tutorías se integra de forma transparente con las sesiones privadas: si intentas llamar a un profesor y está fuera de su horario, se te muestra un mensaje claro antes de que se inicie la videollamada. No hay interrupciones innecesarias.

Resumen de lo nuevo en 4.6

Grabación GCP

  • Pool de Jibris con arranque rápido desde imagen
  • Monitor de estado en tiempo real para reposición automática
  • Grabación en Google Cloud Storage (URL permanente)

Inteligencia artificial

  • Resumen automático de la grabación
  • Cuestionario de verdadero/falso generado automáticamente
  • Transcripción con timestamps clicables y capítulos
  • Contenido IA visible para los alumnos

Sesiones privadas

  • Búsqueda de compañeros de curso e historial de llamadas
  • Notificaciones Web Push de llamada entrante
  • Modal de llamada entrante con tono en call.php

Tutorías

  • Horario de disponibilidad por curso para los profesores
  • Badge de disponibilidad visible en búsqueda e historial
  • Bloqueo de llamada fuera del horario con indicación de la próxima franja

Como siempre, todo está disponible en el repositorio de mod_jitsi. Si pruebas alguna de las novedades y tienes feedback (especialmente sobre el pool de Jibris o las funciones de IA sobre las grabaciones) abre un issue o escríbeme directamente.