Jibri metadata.json

Any detail step would be appriciated…
im planing to auto upload recorded video on jibri to nextcloud server, then inform the link to the moderator email.

First, thank you @NBJ!

I tested it out and it works, provided the moderator has registered his name and e-mail.
Here’s how I did it:

  • Create a /usr/share/jitsi-meet/prosody-plugins/mod_participant_metadata.lua file with the content posted by @NBJ
  • Make the module available to prosody
    ln -s /usr/share/jitsi-meet/prosody-plugins/mod_participant_metadata.lua /usr/lib/prosody/modules/
  • Update your guest virtual host in you prosody conf (mine is at /etc/prosody/conf.d/myhost.mydomain.tld.lua)
    VirtualHost "guest.myhost.mydomain.tld"
        authentication = "anonymous"
        c2s_require_encryption = false
        modules_enabled = {
  • Restart prosody
    systemctl restart prosody.service

This is what my metadata.json file looks like (after I’ve prettified it)

    "meeting_url": "https://myhost.mydomain.tld/civicminersdeveloppoorly",
    "participants": [
            "user": {
                "id": "myuser@mydomain.tld"
    "share": true

1 Like

Hi @ashemsay, @NBJ
Does this code works for jwt users or internal_plain (user + password) users?


Hi, it works for the organizer only and he must have set his e-mail in the web interface settings (settings > profile tab)

1 Like

For jwt you don’t need this module. You just need to enable the mod_presence_identity that comes with jitsi. With prosody internal authentication this module should work, since I’m only checking if the user has the moderator role and email defined.

Thnks! but how can I define an email to a moderator? I use the command prosodyctl register MODERATOR DOMAIN PASS described in docs.

EDIT: Ok, @ashemsay answered, I didnt read it sorry. So its only works if the moderator adds his email every time he start a room in the web interface…

You don’t have to enter it everytime, the profile is saved in your browser. I don’t know for how long but I certainly don’t set it everytime.

que pasaria si no se registra el correo electronico?

Thanks alot, it work…
But for convenient it would be great if it able to take the mail address from ldap server.

Can you show an example of JSBON blob which is working please?


I have JWT auth in place. Module presence_identity is enabled in right place.
After stop of Jibri I get empty participants list.


JWT token is defined like this:
{ "aud": "7badafa99a3424841ee4e667ac706814c05b3c9e1528d6330b5c17a254f841ff", "iss": "7badafa99a3424841ee4e667ac706814c05b3c9e1528d6330b5c17a254f841ff", "exp": 1596398635, "sub": "meet.[REDACTED].com", "room": "g71WoD3xYVWzQz6bjAw4-1593806635.112", "moderator": false, "context": { "user": { "id": "75c461cb-e1d0-4cfa-8ed1-5a2aa72d2d0b", "name": "Dusan Panic", "email": "dumy@email.com", "avatar": "https://[REDACTED]amazonaws.com/avatars/c96fb45c-232a-461c-882b-dc7da4d867ce.png" }, "group": "users" }, "iat": 1593806635 }

Prosody version is 0.11.5-1~bionic6

Maybe I should try prosody 1nightly1287-1~bionic?