Recording failed to start please select the current tab

hi all ,
while I selecting the current tab and enable share audio the recording failed to start.

Can you share the console logs?

this log appears with a message recording failed to start
Screenshot 2022-09-14 110540

@damencho

“WrongSurfaceSelected” – that means you did not select the correct tab when initiating the recording.

thanks a lot.
I get this warning while enabling recording while adding jibri users

First of all, Local recording has nothing at all to do with Jibri so not sure how that is relevant to this thread.

To you specific issue, the error message is telling. It cannot find /etc/prosody/prosody.cfg.lua. Where are you running that command? It has to be run on the same server where you have installed prosody.

I run this command on the same server where I install jitsi

Can you try to run it as root?

this is the same output while register the normal user

what is the right place to add the following config lines

-- internal muc component, meant to enable pools of jibri and jigasi clients
Component "internal.auth.your.domain.com" "muc"
    modules_enabled = {
        "ping";
    }
    storage = "memory"
    muc_room_cache_size = 1000
    
VirtualHost "recorder.your.domain.com"
    modules_enabled = {
        "ping";
    }
    authentication = "internal_plain"

some tutorial say here

/etc/prosody/conf.avail/your.domain.com.cfg.lua

and other jibri github repo say here

/etc/prosody/prosody.cfg.lua

@emrah

Both are possible. I prefer to edit /etc/prosody/conf.avail/your.domain.com.cfg.lua.

You have some duplicated configs. First fix them.

i fix them actually

after enabling dropbox and click start recording get the
Jibri errors (“Recording Unavailable”)
recording fails immediately
and this the log in console

Screenshot 2022-09-14 152744

Do you try the local recording or the server-side recording using jibri?

when start recording get three options
rec

the local recording goes well (the third option) I guess it’s getting data from my browser as a client, not from jibri browser.

I try the recording service and dropbox to check jibri recording

but I get Recording Service Unavailable

this is the whale jibri.conf

jibri {
// A unique identifier for this Jibri
// TODO: eventually this will be required with no default
id = ""
// Whether or not Jibri should return to idle state after handling
// (successfully or unsuccessfully) a request. A value of ‘true’
// here means that a Jibri will NOT return back to the IDLE state
// and will need to be restarted in order to be used again.
single-use-mode = false
api {
http {
external-api-port = 2222
internal-api-port = 3333
 }
xmpp {
// See example_xmpp_envs.conf for an example of what is expected here
environments = [
{
name = "prod environment"
xmpp-server-hosts = ["meet.elemental-tech.com"]
xmpp-domain = "meet.elemental-tech.com"


            control-muc {
                domain = "internal.auth.meet.elemental-tech.com"
                room-name = "JibriBrewery"
                nickname = "jibri-nickname"
            }

            control-login {
                domain = "auth.meet.elemental-tech.com"
                username = "jibri"
                password = "JPwd"
            }

            call-login {
                domain = "recorder.meet.elemental-tech.com"
                username = "recorder"
                password = "RPwd"
            }

            strip-from-room-domain = "conference."
            usage-timeout = 0
            trust-all-xmpp-certs = true
         }
      ]
   }
 }
recording {
recordings-directory = "/srv/recordings"
# TODO: make this an optional param and remove the default
finalize-script = "/path/to/finalize"
 }
streaming {
// A list of regex patterns for allowed RTMP URLs. The RTMP URL used
// when starting a stream must match at least one of the patterns in
// this list.
rtmp-allow-list = [
// By default, all services are allowed
".*"
   ]
 }
ffmpeg {
resolution = "1920x1080"
// The audio source that will be used to capture audio on Linux
audio-source = "alsa"
// The audio device that will be used to capture audio on Linux
audio-device = "plug:bsnoop"
 }
chrome {
// The flags which will be passed to chromium when launching
flags = [
"--use-fake-ui-for-media-stream",
"--start-maximized",
"--kiosk",
"--enabled",
"--disable-infobars",
"--autoplay-policy=no-user-gesture-required"
   ]
 }
stats {
enable-stats-d = true
 }
webhook {
// A list of subscribers interested in receiving webhook events
subscribers = []
 }
jwt-info {
// The path to a .pem file which will be used to sign JWT tokens used in webhook
// requests. If not set, no JWT will be added to webhook requests.
# signing-key-path = "/path/to/key.pem"

// The kid to use as part of the JWT
# kid = "key-id"

// The issuer of the JWT
# issuer = "issuer"

// The audience of the JWT
# audience = "audience"

// The TTL of each generated JWT.  Can't be less than 10 minutes.
# ttl = 1 hour

 }
call-status-checks {
// If all clients have their audio and video muted and if Jibri does not
// detect any data stream (audio or video) comming in, it will stop
// recording after NO_MEDIA_TIMEOUT expires.
no-media-timeout = 30 seconds

// If all clients have their audio and video muted, Jibri consideres this
// as an empty call and stops the recording after ALL_MUTED_TIMEOUT expires.
all-muted-timeout = 10 minutes

// When detecting if a call is empty, Jibri takes into consideration for how
// long the call has been empty already. If it has been empty for more than
// DEFAULT_CALL_EMPTY_TIMEOUT, it will consider it empty and stop the recording.
default-call-empty-timeout = 30 seconds

   }
}

where I added the prosody configuration and directory on recording on jibri server (installed on a separate machine)

then I checked the recorder user on the prosody server :
using

grep password /var/lib/prosody/recorder*/accounts/recorder.dat

and get the registered password I set for recorder user.

then try checking the jibri user :
using

grep password /var/lib/prosody/auth*/accounts/jibri.dat

I get nothing while I register jibri and recorder users and get the same output.

there is another way to check jibri users?

@emrah

auth domain keeps passwords in hashed format. It is normal that you don’t find a password field for it.

okay,
but what is the wrong in my steps that lead to this message jibri recording service unavailable?

@emrah

Many things may cause it. IMO check Freddie’s Jibri topic carefully to solve it.

I actually follow this topic in reading it carefully and try to check the error message reason as Freddie says but no change.
so, can @Freddie please check my steps?