So when I start my recording it starts without any error and there is a red REC
on top. But when I stop recording, it again succeeds with stopping the recording though there is nothing to be downloaded.
A while ago with the same installation, when I used to stop a video file used to start downloading but now its nothing.
As far as my log goes, jibri logs show no error, I double-checked the configurations (new one for jibri). Neither Jicofo shows any error nor jvb.
I am attaching a few log files and here is my 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: "srv20525.dus4.fastwebserver.de"
xmpp-server-hosts: ["srv20525.dus4.fastwebserver.de"],
xmpp-domain: "srv20525.dus4.fastwebserver.de"
control_login: {
domain: "auth.srv20525.dus4.fastwebserver.de"
username: "jibri"
password: "*******"
},
control_muc: {
domain: "internal.auth.srv20525.dus4.fastwebserver.de"
room-name: "JibriBrewery"
nickname = "*******"
},
call_login: {
domain: "recorder.srv20525.dus4.fastwebserver.de"
username: "recorder"
password: "**********"
},
strip-from-room-domain = "conference."
trust-all-xmpp-certs = true
usage-timeout: "0"
}
]
}
}
recording {
recordings-directory = "/tmp/recordings"
finalize-script = "/path/to/finalize"
# TODO: make this an optional param and remove the default
}
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
".*"
]
}
sip {
// The routing rule for the outbound scenario in VoxImplant is based on this prefix
outbound-prefix = "out_"
}
ffmpeg {
resolution = "1920x1080"
framerate = 30
// Encoding speed to compression ratio (slower preset -> better compression)
// Available presets: ultrafast, superfast, veryfast, faster, fast, medium,
// slow, slower, veryslow, placebo
video-encode-preset = "veryfast"
queue-size = 4096
streaming-max-bitrate = 2976
// The range of the CRF scale is 0-51, where 0 is lossless,
// 23 is the default, and 51 is worst quality possible. A lower value
// generally leads to higher quality, and a subjectively sane range is
// 17-28. Consider 17 or 18 to be visually lossless or nearly so;
// it should look the same or nearly the same as the input but it
// isn't technically lossless.
// https://trac.ffmpeg.org/wiki/Encode/H.264#crf
h264-constant-rate-factor = 25
// 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",
"--autoplay-policy=no-user-gesture-required",
"--ignore-certificate-errors"
]
}
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 not all clients have their audio and video muted, but Jibri does not
// detect any data stream (audio or video) comming in, it will stop
// recording after NO_MEDIA_TIMEOUT expires.
no-media-timeout = 3 minutes
// 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
// If ICE hasn't completed, or stays in a state other than "connected" for this amount of time, Jibri will stop.
ice-connection-timeout = 30 seconds
}
}
jibri.txt (6.5 KB)
jicofo.log (258.9 KB)
jvb.log (653.5 KB)
prosody.log (135.3 KB)