hi all ,
while I selecting the current tab and enable share audio the recording failed to start.
Can you share the console logs?
“WrongSurfaceSelected” – that means you did not select the correct tab when initiating the recording.
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
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
Do you try the local recording or the server-side recording using jibri
?
when start recording get three options
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?
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?
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?
I am having this exact same issue, recording was working fine before I updated Jitsi to latest release. Did you managed to solve it @mohamed_elashry
I get “Failed to start a Jibri session, no Jibris available” in my jicofo logs