Jitsi

Activities ::: mod_jitsi
Maintained by Sergio Comerón, logo UDIMAUniversidad a Distancia de Madrid (UDIMA)
This module allows creating jitsi-meet videoconference sessions.
Latest release:
3492 sites
621 downloads
120 fans
Current versions available: 1

This plugin (mod_jitsi) allows teachers to create webconference activities fully integrated with Jitsi Meet servers directly inside Moodle courses.

Jitsi Meet is an open-source videoconferencing solution. If you don't know it, you can try it at meet.jit.si. Many commercial services are deployed using Jitsi Meet because of its scalability and open nature.

Out of the box the plugin works using the public Jitsi Meet servers (meet.jit.si). It's free and that's the best way to test if this plugin fits your needs. Note that meet.jit.si now restricts embed mode to 5 minutes per conference — enough to evaluate the plugin.

Jitsi Meet inside Moodle

Key features

  • Schedule webconferences in your course
  • Attendees report with minutes tracking
  • Activity completion based on attendance time
  • Unlimited participants (limited by your server bandwidth)
  • Moodle profile pictures used as avatars
  • Guest URLs for users outside Moodle
  • HD audio and video
  • Multiple simultaneous screen sharing
  • Tile view, breakout rooms, chat, polls, virtual backgrounds
  • YouTube video sharing with synchronized playback
  • Full moderation control (token-based mode recommended)
  • YouTube live streaming with automatic recording publishing
  • Dropbox recording support with manual or automatic link publishing
  • JaaS (8x8) cloud recordings automatically captured and available for download
  • Session usage statistics with monthly charts and top courses/categories

Supported server types

  • Public server (meet.jit.si or other public instances) — no configuration required, free, limited to 5 minutes in embed mode
  • Self-hosted Jitsi (Type 1) — your own Jitsi server with optional JWT token authentication for moderation control
  • 8x8 JaaS (Type 2) — Jitsi as a Service, free up to 25 monthly active users, with cloud recording support
  • GCP auto-managed (Type 3, BETA) — automatically create and manage Jitsi servers in Google Cloud Platform directly from Moodle

Recordings

The plugin supports multiple recording methods:

  • YouTube streaming: recordings are automatically published in the activity's Recordings tab using the YouTube Data API v3. Requires OAuth 2.0 setup in Google Cloud Platform. Multiple YouTube accounts supported with round-robin distribution.
  • Dropbox: teachers record to their Dropbox account and publish the link manually in the Recordings tab. The plugin can embed the video directly using an HTML5 player.
  • JaaS (8x8) cloud recordings: recording links are captured automatically when the session ends. Links expire after 24 hours and are automatically hidden when expired.
  • External links: any recording link can be added manually to the Recordings tab.

Recording switch Recordings tab

Token-based moderation

For production deployments, configuring JWT token authentication gives you full moderation control: only users with the Jitsi Moderation capability are promoted as Jitsi moderators moderator icon and can mute, disable cameras, or kick participants.

Note: self-hosted servers (Type 1) require the jitsi-token-moderation-plugin installed on the Jitsi server for JWT moderation to work correctly.

GCP Auto-managed servers (BETA)

This experimental feature allows you to create and manage Jitsi Meet servers in Google Cloud Platform directly from Moodle. The plugin automatically installs Jitsi, configures JWT authentication, provisions a static IP, and obtains a Let's Encrypt SSL certificate. Servers can be started and stopped from the Moodle interface to save costs.

⚠️ Recording is not yet supported on GCP auto-managed servers. Use self-hosted (Type 1) or 8x8 JaaS (Type 2) for recording functionality.

Session usage statistics

Administrators can access a statistics page with date range filtering showing total sessions, unique users, time in period, monthly breakdown with charts, and top courses and categories by usage.

Permissions

Permissions

  • mod/jitsi:addinstance — create Jitsi activities
  • mod/jitsi:view — access Jitsi activities
  • mod/jitsi:moderation — act as moderator in sessions
  • mod/jitsi:record — start recordings and manage recording links
  • mod/jitsi:deleterecord — mark recordings as deleted
  • mod/jitsi:editrecordname — rename recordings
  • mod/jitsi:hide — hide recordings from students
  • mod/jitsi:createlink — view and share guest invite links
  • mod/jitsi:viewrecords — access the Recordings tab
  • mod/jitsi:viewusersonsession — access attendees reports

Disclaimer

This plugin is not related to or partnered with 8x8 Inc. nor with Jitsi as a Service (JaaS).

Screenshots

Screenshot #0

Contributors

Sergio Comerón (Lead maintainer)
logo UDIMA
Universidad a Distancia de Madrid (UDIMA)
Please login to view contributors details and/or to contact them

Comments

Show comments
  • DTA 28/03/2015
    Sat, 15 Feb 2025, 9:30 PM
    Hi Sergio,

    Get in trouble when backuping-restoring with moosh for courses including Jitsi activity
    Considering moosh restore log I found issues seems to be related to 'Session shared with token' param and 'tokeninvitacion' fields who doesn't have a default value (maybe due to DB field writing error).
    I do not plan to use the 'Session shared with token' function.
    So is there a way to skip this in code and so prevent the restore course error ?

    In case of, here are few lines copy from log.
    Default exception handler: Error writing to database Debug: Field 'tokeninvitacion' doesn't have a default value
    !!! Error writing to database !!!
    Potential coding error - existing temptables found when disposing database. Must be dropped!

    Moodle version : its 4.5.1
    PHP 8.2
    Jitsi version : v3.4.11 (2024120100)

    Many thanks for you help and dedicated involvement on supporting Jitsi in module Course smile
    Benoit @ DiDaXo
  • Sergio Comerón
    Sun, 16 Feb 2025, 1:40 AM
    Hi Benoit,

    Thank you for reporting this issue and for providing detailed information. I have created an issue on GitHub to track and investigate this problem:

    🔗 https://github.com/udima-university/moodle-mod_jitsi/issues/131

    We will review this and keep you updated on any progress. Feel free to add any additional details or comments directly in the issue thread.

    Thanks again for your support!

    Best regards,
    Sergio
  • DTA 28/03/2015
    Sun, 16 Feb 2025, 7:18 PM
    Great! Thank Sergio for you for quick follow up. Just wondering how many time would be needed to fix and publish a new release (if this is effectively a bug) ?
  • Sergio Comerón
    Sun, 16 Feb 2025, 8:27 PM
    Hi Benoit.
    The problem lies in the definition of the tokeninvitacion field. In install.xml, the field is set to NOT NULL, while in upgrade.php, it allows NULL values. I should have a solution implemented by today or tomorrow, and once it’s fixed, I will release a new version.
  • Dácil Blanco Francisco
    Thu, 13 Mar 2025, 4:13 PM
    Buenos días. En moodle 4.1.11 con php 8.1 y jitsi v3.4.4 donde tengo activo el botón de seguridad, el problema que he detectado es que al acceder a la sala creada en las opciones de seguridad puedo activar la sala de espera, pero no puedo activar la opción de agregar contraseña.

    En nuestra organización tenemos montados varios servidores propios de jitsi. Accediendo a una video creada desde fuera no tengo este problema, puedo activar la sala de espera así como establecer una contraseña. El problema solo lo tengo dentro de moodle con el plugin de jitsi.

    Nota: He actualizado a la última versión del plugin para ver si se soluciona el problema, el error continúa.

    Un saludo.
  • Sergio Comerón
    Fri, 14 Mar 2025, 6:24 PM
    Hola Dácil,
    En donde configuras la contraseña? en la parte de administración de moodle? o ya directamente en las opciones de seguridad de dentro de jitsi?
    Estoy probando ambas opciones y en un primer momento me funciona. Dime para poder hacer mas pruebas y veo que puede estar fallando.

    Gracias!
  • Dácil Blanco Francisco
    Fri, 14 Mar 2025, 7:11 PM
    Buenos días.
    En la video creada dentro de jitsi en las opciones de seguridad, al pulsar agregar contraseña no hace nada. He descartado los navegadores, he probado tanto con firefox como chrome.

    Muchas gracias por contestar, un saludo.
  • Sergio Comerón
    Fri, 14 Mar 2025, 7:35 PM
    He creado una issue en GitHub para poder llevar el caso mejor (aqui no puedo poner capturas de pantalla). Por favor lee mi comentario y me dices. (si puede responder en GitHub mejor)
    Esta es la url: https://github.com/udima-university/moodle-mod_jitsi/issues/132

    Gracias!
  • Richard Pinnell
    Thu, 12 June 2025, 2:20 AM
    Great plugin and I'm almost ready to use it, but I can't work out how to record or stream. It says "Out of the box" teachers can stream and record sessions using their own YouTube accounts." But, how? I cannot find any option to stream or record in the meeting. I tried setting up the OAuth2 and after I did the record/stream switch appeared. However when I enabled it I got an "invalid parameter" message. I just want to find some easy way of recording my meeting either to YouTube or some other place.
  • Sergio Comerón
    Thu, 12 June 2025, 10:16 PM
    Hi Richard, I see that you’ve configured your OAuth account in the plugin, but have you added the YouTube accounts to enable recording?
  • jwor km
    Tue, 2 Dec 2025, 5:04 PM
    Hi Sergio,

    I was reviewing the plugin documentation and found the following statement:

    Token configuration
    If you have your own server, you can enter the values for the token moderation option here. Enter your App_ID and your Secret in the jitsi_app_id and jitsi_secret parameters.

    However, in the current plugin settings interface, there is no field to enter jitsi_app_id or jitsi_secret.

    I have also enabled Secure Domain on our Jitsi server, but currently, Moodle users with the manager role cannot enter a Jitsi session.

    Could you please clarify how to configure these parameters or guide me on how to enable token-based moderation for our own Jitsi server?

    Thank you very much for your help.
  • Sergio Comerón
    Tue, 2 Dec 2025, 5:18 PM
    Hi jwor km
    I’ll send you an email so I can provide you with support more easily there.
  • jwor km
    Tue, 2 Dec 2025, 5:41 PM
    Thank you Sergio,

    Thank you for your response.

    I would like to inform you that the email address currently listed in my profile is no longer accessible to me. I have updated my profile with a new email address.

    Please send your support email to my new email address as updated in my profile.

    Thank you very much for your understanding and assistance.
  • jwor km
    Wed, 10 Dec 2025, 3:16 PM
    Hi Sergio,

    I am getting an error when I try to view the Jitsi meeting attendance report.

    Error: Cache definition mod_jitsi/getminutesdates requires simple keys. Invalid key provided.

    Debug info: getminutesdates_4922_2_-17838761144_-17838674744

    Stack trace:
    line 639 of /cache/classes/helper.php: core\exception\coding_exception thrown
    line 1227 of /cache/classes/cache.php: call to core_cache\helper::hash_key()
    line 507 of /cache/classes/cache.php: call to core_cache\cache->parse_key()
    line 408 of /cache/classes/cache.php: call to core_cache\cache->get_implementation()
    line 1817 of /mod/jitsi/lib.php: call to core_cache\cache->get()
    line 530 of /mod/jitsi/view.php: call to getminutesdates()
  • Przemek Kaszubski
    Tue, 21 Apr 2026, 3:34 AM
    Version 4.6.1 of the plugin is triggerring DB issues with some default values :
    cf. https://github.com/SergioComeron/moodle-mod_jitsi/issues/175
Please login to post comments