Auto recording without any click

Hi

I want to know how to start auto recording when room join to each other , without any click in recording option…and how to save recording in drop box default without any login, without any click event ,means all the things go through auto
Process in background.

There is no such feature for the moment. And there is no such feature planned in the roadmap.

@damencho, Thank you for the information, Do we have any external REST API of the Jibri to start & stop the recording. So that, we can start the recording when the page loads and auto recording works.

No, jibri is controlled by jicofo using xmpp, so the only way to control jibri is through xmpp.

Thank you for the information, Do we have function in Jitsi meet External API for the starting & stoping recording ?

1 Like

Nope, there is no such option.

Hii
is there any update for auto recording api ??

Hi @damencho

I’ve traced code of jicofo JibriRecorder.kt and found out recording started when handleStartRequest of the JibriIq from moderator.

Then, wrote a prosody plugin to simulate moderator sending this IQ, but it seems session.send(start_record_iq) didn’t get send at all (in prosody.log). Any suggestions ?

local jid = require "util.jid";
local st = require "util.stanza";
local uuid_gen = require "util.uuid".generate;
local is_healthcheck_room = module:require "util".is_healthcheck_room;

module:hook("muc-occupant-joined", function (event)
    local room = event.room;
    local roomid, _ = jid.split(room.jid);
    local session = event.origin;    
    local from = event.stanza.attr.from

    -- skip health check
    if is_healthcheck_room(room.jid) then
        return;
    end
    
    -- auto start recording only when event is from focus
    if roomid and string.find(from,"focus@") then
                
        local to = string.gsub(room.jid, "/.%w+","").."/focus"
        local qid = uuid_gen()..":sendIQ"        
        local start_record_iq = st.iq({ id = qid, type = "set", xmlns="jabber:client", to = to})
            :tag("jibri", { xmlns = "http://jitsi.org/protocol/jibri", 
                    action = "start", 
                    app_data = "{"file_recording_metadata":{"share":true}}",
                    recording_mode = "file"
                })                

        module:log("debug", "check stanza %s",start_record_iq);        
        session.send(start_record_iq);                
    end   
end);