jitsi / jibri

Jitsi BRoadcasting Infrastructure
Apache License 2.0
609 stars 313 forks source link

Jibri Fails to run. #106

Closed nightstryke closed 6 years ago

nightstryke commented 6 years ago

Keep getting this in the /var/log/jitsi/jibri/log.txt files 2018-05-13 20:27:15.692 SEVERE: [1] org.jitsi.jibri.Main.loadConfig() A required config parameter was missing: Instantiation of [simple type, class org.jitsi.jibri.config.XmppEnvironmentConfig] value failed for JSON property name due to missing (therefore NULL) value for creator parameter name which is a non-nullable type

bbaldino commented 6 years ago

This error is printed if there is a failure parsing the config file, in particular that a required field of type "XmppEnvironmentConfig" is missing. If you have an empty object in that array, that would be why (have seen others run into that as the sample one is set up that way). If you paste your config I can tell you for sure (don't forget to change anything sensitive)

nightstryke commented 6 years ago

I'm running this off of a different VPS and setup an A Record directly to the VPS ip so it does resolve and do normal Jitsi Chat, but my config isn't working. Here it is.

`{ // NOTE: this is a SAMPLE config file, it will need to be configured with // values from your environment

// Where recording files should be temporarily stored
"recording_directory":"/tmp/recordings",
// The path to the script which will be run on completed recordings
"finalize_recording_script_path": "/path/to/finalize_recording.sh",
"xmpp_environments": [
    {
        // A friendly name for this environment which can be used
        //  for logging, stats, etc.
        "name": "prod environment",
        // The hosts of the XMPP servers to connect to as part of
        //  this environment
        "xmpp_server_hosts": [
            "prod.subdomain.mydomain.com"
        ],
        // The xmpp domain we'll connect to on the XMPP server
        "xmpp_domain": "subdomain.mydomain.com",
        // Jibri will login to the xmpp server as a privileged user 
        "control_login": {
            // The domain to use for logging in
            "domain": "auth.subdomain.mydomain.com",
            // The credentials for logging in
            "username": "username",
            "password": "password"
        },
        // Using the control_login information above, Jibri will join 
        //  a control muc as a means of announcing its availability 
        //  to provide services for a given environment
        "control_muc": {
            "domain": "internal.auth.subdomain.mydomain.com",
            "room_name": "JibriBrewery",
            "nickname": "jibri-nickname"
        },
        // All participants in a call join a muc so they can exchange
        //  information.  Jibri can be instructed to join a special muc
        //  with credentials to give it special abilities (e.g. not being
        //  displayed to other users like a normal participant)
        "call_login": {
            "domain": "recorder.subdomain.mydomain.com",
            "username": "username",
            "password": "password"
        },
        // When jibri gets a request to start a service for a room, the room
        //  jid will look like:
        //  roomName@optional.prefixes.subdomain.xmpp_domain
        // We'll build the url for the call by transforming that into:
        //  https://xmpp_domain/subdomain/roomName
        // So if there are any prefixes in the jid (like jitsi meet, which
        //  has its participants join a muc at conference.xmpp_domain) then
        //  list that prefix here so it can be stripped out to generate
        //  the call url correctly
        "room_jid_domain_string_to_strip_from_start": "conference.subdomain.mydomain.com.",
        // The amount of time, in minutes, a service is allowed to continue.
        //  Once a service has been running for this long, it will be
        //  stopped (cleanly).  A value of 0 means an indefinite amount
        //  of time is allowed
        "usage_timeout": "0"
    },
    {
        // Another environment config like the above
    }
]

}`

kybi commented 6 years ago

Hi @nightstryke

try remove from config this part

,
    {
        // Another environment config like the above
    }

default config is not valid jsonq

nightstryke commented 6 years ago

Alright that seems to have fixed the problem.

Another question, does anyone know if it's possible to change the stream url from youtube to another rtmp server like a custom server? I'd like to be able to send to my rtmp server instead of to google's.

bbaldino commented 6 years ago

Another question, does anyone know if it's possible to change the stream url from youtube to another rtmp server like a custom server? I'd like to be able to send to my rtmp server instead of to google's.

We don't currently support that, but it's something we'd like to support and will probably do at some point, but nothing planned as of now.