First off, YouTube streaming is one of the most exciting new features (at least new to me!).
Right now, adding the stream key allows livestreaming to YouTube. But since the RTMP url is simple rtmp://$serverUrl/$streamKey, could we instead make YouTube a subset of this feature, perhaps with specific instructions? If this setting was more general, then we could use services like restream.io to easily send streams to many services :)
I like the idea. This would also require some changes in Jibri, I think.
We have this on our list (I've volunteered to add it), but I don't know when we'll get to it.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Any updates? Could be a widely used feature.
No change here I'm afraid and it's not something currently in progress or on the roadmap (but that could always change, it just hasn't come up).
This seems like a rather simple change with huge impact. YouTube conflicts with jitsis open source ethos and this change would enable new providers to integrate
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Would like to keep this open. The RTMP source stream being sent to YouTube would work at virtually any other streaming provider as well if server url + stream key could be defined.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
commenting to keep this open
For interest i tweaked my own install to support 'any' RTMP output (I also modded the output to add a news ticker over the top of the streaming output but that is probably a bit specific to my own use case)
The mod is quite simple:
Edit lines 34 and 35 of src/main/kotlin/org/jitsi/jibri/service/impl/StreamingJibriService.kt
private const val YOUTUBE_URL = "rtmp:/"
private const val STREAMING_MAX_BITRATE = 2976
note the single '/' after rtmp:/ - since the YOUTUBE_URL is used throughout the code base then removing it or leaving it blank ends up prefixing anything you type into the stream key box on the UI with a '/' causing problems.
My mod means that you need to then enter the server/app/streamkey format in the UI stream key box.
For example i could use
ingest.id3as.com/live/HJr5JJueX9
Which the code now formats to rtmp://ingest.id3as.com/live/HJr5JJueX9 and passes to FFMPEG which then happily makes the connection. It is cheating slightly since in effect the key includes the server and app name, but since ffmpeg just sees a complete string as the streaming target it works just fine.
Hope that helps someone :)
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Can we keep this open?
Yeah we can keep this open. There's a bug or discussion somewhere in Jibri (can't find it now for some reason) where we were talking about this. I have a branch with a form of this implemented, but needs a couple things before I could merge it and I haven't had time to go back to it yet.
love to see it available, too
@dom-robinson where is this file located ? :)
src/main/kotlin/org/jitsi/jibri/service/impl/StreamingJibriService.kt
I can not for the life of me find it.
I take it you have installed Jibri? If so it should be there...
yes, sudo apt install jibri, but still can not find it.
followed the instructions from the readme to install.
https://github.com/jitsi/jibri
Hmm odd - my machine is off at the moment and i am out to work for some meetings - will try to look over weekend for you
@dom-robinson Thank you, I appreciate it.
That file is source code, you will not find it in the binary you install. The code is here: https://github.com/jitsi/jibri/blob/master/src/main/kotlin/org/jitsi/jibri/service/impl/StreamingJibriService.kt
oh I see, Thank you @damencho & @dom-robinson for your help.
We have applied for GSoC 2020 and this is one of the proposed projects. If we get accepte, are a student and feel like working on this with us, please do apply? https://github.com/jitsi/gsoc-ideas/blob/master/2020/live-streaming-providers.md
Is there a way to contribute without knowing any code? If that wasnāt obvious from my initial question :)
To be honest, I don't think so, at least at this stage. Once there is something to test, testing could be something you could help with, having no coding experience. Alas we are not there yet.
Well, I would be more than happy to help at that point. And would definitely contribute if I knew more.
Happy to provide a few pointers - I am not production coder, but i have 25+ years āhackingā with streaming technologies of all kinds and down to tweaking and recompiling sources etc..To be honest i think - so long as you pass the right credentials to FFMPEG (as my āhackā does above) you wonāt have an issue reaching most other platforms... and look to NGNIX for splitting out to multiple destinations. .. right train arriving at meeting - speak later!
this feature would be greatly appreciated
Would like to be able to stream to Wowza RTSP endpoint instead of Youtube
keep this
I'm sure when this thread was first created, we never could have predicted the situation we currently face under quarantine.
Like many other performers I have been trying to figure out how to Livestream my performances to various platforms.
I want to be able to include multi user video conferencing and would love to be able to restream from Jitsi to other platforms.
Given the current situation, is there anyone now working on this?
I'm sure when this thread was first created, we never could have predicted the situation we currently face under quarantine.
Like many other performers I have been trying to figure out how to Livestream my performances to various platforms.
I want to be able to include multi user video conferencing and would love to be able to restream from Jitsi to other platforms.
Given the current situation, is there anyone now working on this?
My mod above has worked for ages...
https://github.com/jitsi/jitsi-meet/issues/2829#issuecomment-509712706
Hello I have been use other rtmp service without recompile anything. Perhaps it is interesting for you until this issue is solved:
Hello I have been use other rtmp service without recompile anything. Perhaps it is interesting for you until this issue is solved:
this is a brilliant and simple way to get this going. I did this and now I stream to a nginx rtmp proxy & then onto to FB, Periscope, YT OR any rtmp server..
maybe https://packages.debian.org/sid/libnginx-mod-rtmp can be used and jibri can be re-written to stream to any platform. the only downside will be rtmps based destinations as libnginx-mod-rtmp doesnt support it
Pleeease integrate this :) š
i've written a simple guide to do this
Thank you very much!
From: yodaphone notifications@github.com
Reply-To: jitsi/jitsi-meet reply@reply.github.com
Date: Monday, May 18, 2020 at 9:08 AM
To: jitsi/jitsi-meet jitsi-meet@noreply.github.com
Cc: Kyle Borg-BTV kyleb@biggytv.com, Comment comment@noreply.github.com
Subject: Re: [jitsi/jitsi-meet] Allow streaming to general RTMP endpoint (#2829)
i've written a simple guide to do this
ā
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/jitsi/jitsi-meet/issues/2829#issuecomment-630283422, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAAUN45V5BV2UXU33VGJIDDRSFMPBANCNFSM4E26RZQA.
There is no PR here, so there is nothing to merge as of yet.
Thanks @saghul I had understood that @dom-robinson had implemented a fix to this per this comment https://github.com/jitsi/jitsi-meet/issues/2829#issuecomment-509712706 but now I see that this has not been submitted as a PR for review.
What would be the next steps for submitting a PR, @dom-robinson I can help with this if you need someone to test this.
Or @bbaldino is your branch ready to be tested, and then potentially submitted as a PR for evaluation by the team?
Desculpem minha falta de conhecimento, mas existe alguma forma de eu instalar esse serviƧo no Windows e rodar em um servidor local atravƩs do Apache para estudo?
Sorry for my lack of knowledge, but is there any way I can install this service on Windows and run on a local server through Apache for study?
Please @JordaoPatrocinio, if you have any questions on how to setup Jitsi, follow the documentation or refer to the community forum for further questions: https://community.jitsi.org. This is not the right place to ask.
I take it you have installed Jibri? If so it should be there...
@dom-robinson I have already installed Jibri still can I edit this. If you then can you please show me the path?:
private const val YOUTUBE_URL = "rtmp://a.rtmp.youtube.com/live2"
private const val STREAMING_MAX_BITRATE = 2976
hello, any patch for tweaking this in the jitsi meet web interface?
This is important for us. Zoom recently added this, but it seems to be less than great.
Jibri supports streaming to any RTMP url as of jibri_8.0-57-ge654f96. This is only available in unstable as of now, weāll probably do a stable release soon.
After https://github.com/jitsi/jibri/pull/342, in place of a YouTube stream key, you can input a RTMP URL. + stream key joined together in order to stream to another service. I tried this with Twitch and meet.jit.si and it worked.
However, I couldn't get RTMPS (Facebook) to work.
However, there's still no documentation that it's possible, and the user interface has yet to be updated to reflect this change.
I want this, too!
:hammer: Currently I worked around it by patching the Jibri Docker container as follows. I replaced ffmpeg with a shell script that modifies the rtmp URL and then calls the original ffmpeg. If you enter a full rtmp URL into the YT stream key field, this URL will used as is.
:see_no_evil: I know, it's a monkey patch, but it works and might be useful for other stumbling upon this.
jibri-patch#!/bin/bash
NAME=$(basename "$0")
if [[ $NAME = init ]]; then
FFMPEG=$(which ffmpeg)
cp -nv ${FFMPEG} ${FFMPEG}0
ln -sfv $0 ${FFMPEG}
exec /init "$@"
exit
fi
OPTS=()
while [[ $# > 0 ]]; do
A="$1"
case $A in
*rtmp://*)
OPTS+=("rtmp://${A##*rtmp://}")
;;
*)
OPTS+=("$1")
;;
esac
shift
done
set -- "${OPTS[@]}"
exec ffmpeg0 "$@"
docker-compose.yml (jibri.yml) add this as volume and entrypoint jibri:
volumes:
- ./jibri-patch:/config/init
entrypoint: /config/init
Umm, @quantenschaum. This is already available, please see my previous message.
The functionality is already there, but thereās no documentation of it, which is most likely why this issue is still open. Just enter a full rtmp url on the latest version without that hack.
Just a question, does rtmps (Facebook Live) work on your setup?
It does not work, rtmp://a.rtmp.youtube.com/live2/ is prepended to the URL that is passed to ffmpeg.
I am using Jitsi on docker and just pulled the images. It might be in there downstream, but it's not in the docker images yet. On https://meet.jit.si/ it does work. Nice.
The hack is useful nonetheless because it allows to modify the options passed to ffmpeg. So you can change the quality and codec and use hardware accelerated encoding, record and stream simultaneously, directly create HLS filesets, ...
rtmps did not work, even though ffmpeg does actually support it. Maybe a (root) certificate verification issue.
This should also be available in the next stable Docker images. meet.jit.si is always a bit ahead of stable.
Most helpful comment
For interest i tweaked my own install to support 'any' RTMP output (I also modded the output to add a news ticker over the top of the streaming output but that is probably a bit specific to my own use case)
The mod is quite simple:
Edit lines 34 and 35 of src/main/kotlin/org/jitsi/jibri/service/impl/StreamingJibriService.kt
note the single
'/'afterrtmp:/- since the YOUTUBE_URL is used throughout the code base then removing it or leaving it blank ends up prefixing anything you type into the stream key box on the UI with a '/' causing problems.My mod means that you need to then enter the server/app/streamkey format in the UI stream key box.
For example i could use
ingest.id3as.com/live/HJr5JJueX9Which the code now formats to
rtmp://ingest.id3as.com/live/HJr5JJueX9and passes to FFMPEG which then happily makes the connection. It is cheating slightly since in effect the key includes the server and app name, but since ffmpeg just sees a complete string as the streaming target it works just fine.Hope that helps someone :)