Stream to other platform instead of YouTube and modify the encode quality

I can’t seem to locate where the parameters are set for the ingest URL, I’d like to be able to change that to another RTMP URL.

I’d also like to modify the output resolution and bitrate. How may I do this?


A StreamSink is created with the YouTube url here. There are some params we pass there as well. Other ffmpeg params are set here.

None of this is configurable at the moment I’m afraid, so you’ll have to make the changes and build your own Jibri.

Is this simply the case with the current version of Jibri? In an older version, there was a config variable. I suppose this can file under suggestions!

I know it has been this way since the Jibri rewrite (12-18 months ago). The python version may have had options to reconfigure (or maybe it was just easier since the script could be modified directly). Either way agree it would be nice to have, though I don’t know when we’d get to it. PRs would definitely be welcome.

1 Like

Any pro-tips on how to compile the file myself? The debian java build doc is outdated

1 Like

Once you’ve forked the repo and made the changes, you can use the jenkins scripts to build the jar and a deb:

jibri> jibri/resources/jenkins/
jibri> ./resources/jenkins/ 10.1

Note that the release script takes a version number and it will create a local tag for that release on your git repo (I just threw 10.1 in there). You don’t need to worry too much about that, but might want to keep it in mind if you do multiple builds.

Thanks, that worked!

I tried to compile using those jenkins scripts but i have the error i pasted under.

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte,int,int,
WARNING: Please consider reporting this to the maintainers of$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] Scanning for projects…
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.095 s
[INFO] Finished at: 2019-09-04T18:26:04Z
[INFO] ------------------------------------------------------------------------
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (/). Please verify you invoked Maven from the correct directory. -> [Help 1]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1]

looks like you ran the maven commands from the wrong directory. do it at the top level where pom.xml is

i have the same error if i cd into the directory where the pom.xml is or even if i copy it to this directory.
it’s like it’s searching the pom.xml in / directory.
any idea why?

Can you paste exactly what you’re running, which directory you’re running it from, and the contents of that dir? (output of ls -la)

root@XXX:~/jibri# ls -la
total 80
drwxr-xr-x 9 root root 4096 Sep 4 18:39 .
drwx------ 7 root root 4096 Sep 4 18:24 …
drwxr-xr-x 8 root root 4096 Sep 4 17:48 .git
drwxr-xr-x 3 root root 4096 Sep 4 17:48 .github
-rw-r–r-- 1 root root 21 Sep 4 17:48 .gitignore
-rw-r–r-- 1 root root 11357 Sep 4 17:48 LICENSE
-rw-r–r-- 1 root root 9108 Sep 4 17:48
drwxr-xr-x 3 root root 4096 Sep 4 17:48 debian
drwxr-xr-x 2 root root 4096 Sep 4 17:48 doc
drwxr-xr-x 2 root root 4096 Sep 4 17:48 lib
-rw-r–r-- 1 root root 14647 Sep 4 17:48 pom.xml
drwxr-xr-x 4 root root 4096 Sep 4 17:48 resources
drwxr-xr-x 4 root root 4096 Sep 4 17:48 src

I run this command


Sorry i understood my mistake. I replaced $WORKSPACE with the correct directory.

Yup, sorry…I should’ve thought of that so that was my bad. Glad you got it sorted.

Thank you for helping me.
I managed to do the build but i had one error with surefire test that crashed it.
this stackoverflow topic helped me solved it though.
I put it here just in case anybody needs it.

Hi @bbaldino,
where i found this file on Jibri server? I need just make some change

Thank you in advance

You won’t find that file on the server, that’s a source file. You’ll need to check out the code and rebuild Jibri (mvn clean package). That will create a jar file you can copy over to the Jibri machine in /opt/jitsi/jibri.

I need to change the row 34: rtmp://…youtube… etc
There is a way to pass this value using API? If not, once changed it, there is a way to pass stream name using API?
Thank you

No, you have to edit and rebuild Jibri.

And just name stream is possible to pass via api? And/or start stream?