jitsi / jitsi-meet

Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
https://jitsi.org/meet
Apache License 2.0
22.92k stars 6.69k forks source link

Live Streaming Unavailable #589

Closed haocse closed 5 years ago

haocse commented 8 years ago

Last dev version, can't record video? When click on Start/Stop Recording, a pop-up always appear with message:

The live streaming service is currently unavailable. Please try again later.

The configuration (chmod 777, saved to : /usr/share/jitsi-videobridge/.sip-communicator/sip-communicator.properties)

org.jitsi.videobridge.NAT_HARVESTER_LOCAL_ADDRESS=localhost
org.jitsi.videobridge.NAT_HARVESTER_PUBLIC_ADDRESS=localhost

org.jitsi.videobridge.ENABLE_MEDIA_RECORDING=true
org.jitsi.videobridge.MEDIA_RECORDING_PATH=/home/recorded
org.jitsi.videobridge.MEDIA_RECORDING_TOKEN=secret

Did i miss something?

bahiamartins commented 8 years ago

I'm facing the same issue, no success. I've tried to add the .sip-communicator folder also inside the etc/jitsi/videobridge no success as well.

I need help.

rteusner commented 8 years ago

same here.. also tried the things mentioned above, no effect. Was working with an older version...

The message is given out by the line here.

magatz commented 8 years ago

Same thing to me, with a fresh installation. using videobridge version 738

yanas commented 8 years ago

The recording documentation is outdated and only indicates how to do a "colibri" type of recording using the jitsi-videobridge. This project has been discontinued and we'll update the documentation for our newly supported method of recording using Jibri.

mcompany commented 8 years ago

@yanas when can we expect documentation update for using Jibri recordings with Jitsi?

magatz commented 8 years ago

@yanas please give some indication about using jibri. I've got a machine running jitsi-meet 1.0.879-1 that is working fine, but a new machine running version 1.0.1016-1 (configured as the other one, that uses jibri for recording) still doesn't record anything. I put recordingType: 'jibri', in config.js but with no success (anything else is already configured). Thanks

NishantLakra commented 8 years ago

I see the streaming and the recording features in jitsi meet have been merged. I really don't understand this.Also, i am not able to stream live even after I put recordingType : 'jibri'.

cremfert commented 8 years ago

Same for me, I would also like to know how to configure Jitsi to be able to record conference. For me, this is the most important feature of Jitsi!

Thanks a lot!

peerasan commented 8 years ago

Big thanks @yanas for great info. Jitsi still not update their document yet huh.

gioymartin commented 8 years ago

I have the same issue.

I've followed the instructions given here: https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md#enabling-recording Also put recordingType: 'jibri' in config.js.

Is there any documentation to configure Jibri with Jitsi Meet?

The readme file in https://github.com/jitsi/jibri is not clear about the configuration.

Thanks.

magatz commented 8 years ago

Hi all,

my 2 €/cents;

thanks in advance

On Tue, Jul 26, 2016 at 10:45 PM, Pufflox notifications@github.com wrote:

I have the same issue.

I've followed the instructions given here: https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md#enabling-recording Also put recordingType: 'jibri' in config.js.

Is there any documentation to configure Jibri with Jitsi Meet?

The readme file in https://github.com/jitsi/jibri is not clear about the configuration.

Thanks.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jitsi/jitsi-meet/issues/589#issuecomment-235399537, or mute the thread https://github.com/notifications/unsubscribe-auth/AAs2KWXDnHUoUVlvh4dJFAxCSxeltbrgks5qZnHVgaJpZM4IBI6X .

[image: Andrea Magatti on about.me]

Andrea Magatti about.me/amagatti http://about.me/amagatti

emcho commented 8 years ago

We agree that the installation process is a pain and we have it on our todo list to try and make it easier. We just haven't got around to it yet. If you feel like giving it a spin before we do: please go ahead.

We have no plans on reviving the old approach though (jirecon) as it is incomparably more dofficult to maintain for no actual added value.

gaproio commented 8 years ago

Hello Guys, Just installed jitsi meet, Planing to install recording .. Please tell me best way to get around this :)

thanks in advance

gaproio commented 8 years ago

also please give me idea / step how to forward stream to youtube for live streaming

shehrozekhan commented 8 years ago

Hi guys, I have been experimenting with Jibri and installed all the dependency packages required to get it to run. Turns out that you need an actual sound card for snd_aloop (one of the required packages) to work, which in turn is required to run Jibri. Does anyone know a workaround this? How do I bypass hardware requirements on a server that is running on a virtual machine running on cloud??? We were able to instal snd_hda_intel and load into kernel but snd_aloop doesn't work. Installing alsa from the source keeps on giving sound.h not found, which in my understanding is trying to access a sound card to install all dependencies

I have tried audio recording for Jitsi Meet on Jirecon. This works, but you have to manually start the shell for every conference. I know Jirecon is not maintained anymore, but it was the closet thing that came to recording actual mp3 files for me. Can anyone help with setting up the xmpp configuration for jirecon?

Alternatively, is there any way to record the audio from a Jitsi Meet conference? Any help or advice would be highly appreciated!

thedracle commented 8 years ago

Hi Shehrozenkhan,

I've worked around this issue by using PulseAudio for recording/streaming.

Basically you can start pulse server, create a sink using pactl:

pactl load-module module-null-sink sink_name=$ROOM

Then you make sure you export PULSE_SINK=$ROOM before launching Chrome, and set PULSE_SINK=$ROOM and PULSE_SOURCE=$ROOM.monitor before launching ffmpeg.

If you use -i pulse as the input source for alsa, it shouldn't require a sound card, and it will use the PULSE_MONITOR you specify for recording, where Chrome will use the PULSE_SINK you specified for playing out its audio.

magatz commented 8 years ago

Sorry for the question.

What you mean saying "before launching chrome"? Are you using ad headless server? the question came up after analyzing jbri, that uses selenium as a "virtual" chome.

Is it true that snd_loop require a "real" hw sound card? thanks

On Mon, Aug 1, 2016 at 9:52 PM, thedracle notifications@github.com wrote:

Hi Shehrozenkhan,

I've worked around this issue by using PulseAudio for recording/streaming.

Basically you can start pulse server, create a sink using pactl:

pactl load-module module-null-sink sink_name=$ROOM

Then you make sure you export PULSE_SINK=$ROOM before launching Chrome, and set PULSE_SINK=$ROOM and PULSE_SOURCE=$ROOM.monitor before launching ffmpeg.

If you use -i pulse as the input source for alsa, it shouldn't require a sound card, and it will use the PULSE_MONITOR you specify for recording, where Chrome will use the PULSE_SINK you specified for playing out its audio.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jitsi/jitsi-meet/issues/589#issuecomment-236687808, or mute the thread https://github.com/notifications/unsubscribe-auth/AAs2Kex23An4_GJgUqSEZ1QqxmfHDmQCks5qbk54gaJpZM4IBI6X .

[image: Andrea Magatti on about.me]

Andrea Magatti about.me/amagatti http://about.me/amagatti

thedracle commented 8 years ago

Magatz,

So, as far as I can tell Jibri is under active development.

When I saw the original script, it appeared to only be oriented to record a single room, and to open Xorg on DISPLAY :0

It's really just in a preview state at this point.

The Jitsi guys say they use it in the current state on a headless server that I assume is without a sound card.

By "Before Launching Chrome", I mean the environment that Selenium is running in has to have a PULSE_SOURCE environment variable set to work.

Selenium will launch Chrome, and Chrome will see the PULSE_SINK environment variable and write to that sink.

In the script that launches FFMPEG if you set the environment variable PULSE_SOURCE to the same sink with a .monitor appended to it, FFMPEG will record/stream from that sink.

Selenium is basically spinning up and running Chrome into a headless Xorg server and then using fmpeg and x11grab to record and stream the desktop.

shehrozekhan commented 8 years ago

Thanks for the explanation, thedracle! I'm in the process of trying out your instructions. Are you able to record audio from a Jitsi Meet conference using this?

thedracle commented 8 years ago

So, I have a dockerized version that can record multiple meetings that was inspired by Jibri.

If you mean by Jitsi-meet our own privately hosted JVB instance, yes.

It uses Xephyr because of its 3D acceleration capabilities, and Pulse Audio for routing audio.

I can share with you some details of the scripts and how they work/differ from Jibri if you get stuck.

I unfortunately it has some proprietary bits, but I want to maybe modify it to use XMPP for signaling again and provide it for people to use after removing private data.

We currently use it to record multiple meetings simultaneously on AWS.

shehrozekhan commented 8 years ago

That's perfect, so there's hope! I have been struggling with this so much, man. @thedracle can I contact you someplace else to set Jibri for my privately hosted JVB? What you have set up is exactly what I need! My email address is on my profile. Many thanks!

shehrozekhan commented 8 years ago

Can you explain what this means: export PULSE_SINK=$ROOM before launching Chrome, and set PULSE_SINK=$ROOM and PULSE_SOURCE=$ROOM.monitor before launching ffmpeg.

Not sure where would I export the pulse_sink and where do I need to set pulse_sink=$room. Also how do I set pulse environment variable for selenium. There are lot of config issues so could you just help me go step by step on this. Would really appreciate your help!

bgrozev commented 8 years ago

Is it true that snd_loop require a "real" hw sound card?

No, we've been using it on machines without a sound card.

thedracle commented 8 years ago

@shehrozekhan

It sounds like just the alsa approach is usable without a sound card. I thought this was probably the case.

Regardless, if you're still interested in using pulse, and if you want to eventually be able to record multiple rooms:

First you need to start pulseaudio (This can be done just as your jibri user): pulseaudio --fail --start -vvvv --log-time=1 > ~/pulseaudio.log

Then you need to create module-null-sink Pulse Audio Sink for your room: pactl load-module module-null-sink sink_name=myRoomName

Now, you have to make sure the meeting's audio plays out via that sink, you can do so by: export PULSE_SINK=myRoomName

I'm not sure if you do this in the term before you use ./run.sh if it will end up being in the environment of the selenium process that ends up being run.

You may have to go into: https://github.com/jitsi/jibri/blob/master/jibri-xmpp-client/jibriselenium.py

And make sure it gets added into the environment there.

If you modify https://github.com/jitsi/jibri/blob/master/scripts/start-ffmpeg.sh and uncomment #INPUT_DEVICE='pulse', and add an export PULSE_SOURCE='myRoomName.monitor'

Now basically what happens is run.sh launches an XMPP client that connects to a specific room on your video bridge. When it gets a IQ to record, it will launch a headless Xorg in DISPLAY :0, and then launch ffmpeg using x11grab to record from that display.

It will use whatever PULSE_SOURCE you set as the source of audio data, and mix it together with the video.

It then launches Selenium with PULSE_SINK set to your null monitor, so all of the audio will be written to that SINK, get read via the monitor ffmpeg is listening to, and streamed/recorded.

shehrozekhan commented 8 years ago

@thedracle

As mentioned in the previous post, do you run these two commands on the terminal or needs to be edited in config files somewhere?

Then you need to create module-null-sink Pulse Audio Sink for your room: pactl load-module module-null-sink sink_name=myRoomName

Now, you have to make sure the meeting's audio plays out via that sink, you can do so by: export PULSE_SINK=myRoomName

Is there anything that needs to be updated in jibirselenium.py file as well?

We have followed all the steps mentioned above and got the script to work. I am not sure where it is storing the audio output. This is the output we received upon running run.sh:

2016-08-03 08:58:49,486 INFO Authentication failed: not-authorized 2016-08-03 08:58:49,486 DEBUG Event triggered: failed_auth 2016-08-03 08:58:49,486 DEBUG SEND (IMMED): AGppYnJpAGppYnJp 2016-08-03 08:58:49,487 DEBUG RECV: Unable to authorize you with the authentication credentials you've sent. 2016-08-03 08:58:49,487 INFO Authentication failed: not-authorized 2016-08-03 08:58:49,487 DEBUG Event triggered: failed_auth 2016-08-03 08:58:49,487 ERROR No appropriate login method. 2016-08-03 08:58:49,487 DEBUG Event triggered: no_auth 2016-08-03 08:58:49,488 DEBUG Event triggered: failed_auth 2016-08-03 08:58:49,488 DEBUG Event triggered: session_end 2016-08-03 08:58:49,488 DEBUG SEND (IMMED): /stream:stream 2016-08-03 08:58:49,488 INFO Waiting for /stream:stream from server 2016-08-03 08:58:53,488 DEBUG Waiting for 3 threads to exit. 2016-08-03 08:58:53,489 DEBUG Finished exiting read_thread thread after early termination from disconnect() call. 3 threads remain. 2016-08-03 08:58:53,489 DEBUG Stopped event runner thread. 2 threads remain. 2016-08-03 08:58:53,568 DEBUG Stopped send thread. 1 threads remain. 2016-08-03 08:58:54,463 DEBUG Quitting Scheduler thread 2016-08-03 08:58:54,463 DEBUG Stopped scheduler thread. 0 threads remain. 2016-08-03 08:58:54,464 DEBUG Event triggered: disconnected 2016-08-03 08:58:54,464 DEBUG ==== TRANSITION connected -> disconnected 2016-08-03 08:58:54,464 ERROR Can not read from closed socket.

But how do we verify if its capturing the audio? Also the port for running jibri should be the same as video bridge or the default port=5222? Also we have manually hardcoded the room name and id in all the config files, how do we ensure that it works dynamically for every room?

shehrozekhan commented 8 years ago

This is how the config.js file in the jibri directory looks like:

{ "jidserver_prefix":"auth.", "mucserver_prefix":"conference.", "boshdomain_prefix":"recorder.",
"password":"jibri", "jid_username":"jibri", "roomname":"TheBrewery", "xmpp_domain":"xmpp.domain.name", "selenium_xmpp_prefix":"recorder.", "selenium_xmpp_username":"recorder", "selenium_xmpp_password":"recorderpass", "servers":["127.0.0.1"], "environments":{ } }

Are there any changes we should make to this?

ayushch3 commented 8 years ago

@bgrozev

Can you tell me what did you change in the launch_recording script for it to run without sound card requirement. I changed the input to pulse in the script but I don't think its recording that meeting

bgrozev commented 8 years ago

@ayushch3 unfortunately I don't remember anymore. I remember that we added pulse at a later stage, and at some point we were only using alsa.

thedracle commented 8 years ago

@shehrozekhan,

So, I'm basically doing it in the shell via a Dockerfile. You can just export them in the environment that everything is being run from.

So, I did get the XMPP piece to work by modifying the config.js, and creating a section in prosody.

The config.js you posted needs to be configured for your domain.

Look in /etc/prosody/conf.avail/video.mydomain.com

You should see different components listed:

Component "focus.video.mydomain.com" component_secret = "SomePw"

You need to make a component for recorder, and configure authentication on prosody for it so it can be authorized using the UN/PW that are provided.

To be honest I threw away the XMPP piece and replaced it with some redis stuff, but I am thinking of switching back to XMPP and providing a Dockerized image other people can use.

If you want to email me at mail@jasonthom.as, I can share what I have with you in the meantime.

tarlesurendra commented 8 years ago

Hello,

We have installed jits-meet on our site https://jetsofts.com and its working but we are unable to see start/stop video stream option on that and also we have tried to install all needed packages for jibri but live streaming is not working and we hope we get needful help here. awaiting for the response.

and also

Error: Can't open display: (null) Failed creating new xdo instance

I am trying to run ./scripts/launch_recording.sh [TOKEN] [YOUTUBE_STREAM_ID] script but getting this error when running the script. I have installed the dependencies from the list given, what could be the issue?

Thank you

debugmaster commented 7 years ago

@ayushch3 The launch_recording.sh script doesn't start selenium or any recording. To record a meeting, you make the app.py script to work.

shrutiathawale commented 7 years ago

Is the Jibri setup working properly ? Can I use Ubuntu 14 version for jibri ? Please help me out. I tried to setup jibri on ubuntu 16 local machine, but no success when starting the service.

tarlesurendra commented 6 years ago

hi shruti thanks for your message how can i help you and you are from india right? can we talk on whats up? you can message me 9823838279

On Tue, Sep 19, 2017 at 1:48 PM, shrutiathawale notifications@github.com wrote:

Is the Jibri setup working properly ? Can I use Ubuntu 14 version for jibri ? Please help me out

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jitsi/jitsi-meet/issues/589#issuecomment-330465190, or mute the thread https://github.com/notifications/unsubscribe-auth/AQjEL1E5hc_7ik_ACQWI-85DTc0Xt0EIks5sj3jlgaJpZM4IBI6X .

shrutiathawale commented 6 years ago

Hi, Yes i am from India. I need suggestions on how to enable recording in Jitsi and is Jibri working ok ? Have you worked on this ?

Thanks & Regards, Shruti Athawale

On Mon, Oct 2, 2017 at 8:48 AM, tarlesurendra notifications@github.com wrote:

hi shruti thanks for your message how can i help you and you are from india right? can we talk on whats up? you can message me 9823838279

On Tue, Sep 19, 2017 at 1:48 PM, shrutiathawale notifications@github.com wrote:

Is the Jibri setup working properly ? Can I use Ubuntu 14 version for jibri ? Please help me out

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jitsi/jitsi-meet/issues/589#issuecomment-330465190, or mute the thread https://github.com/notifications/unsubscribe-auth/AQjEL1E5hc_7ik_ACQWI- 85DTc0Xt0EIks5sj3jlgaJpZM4IBI6X .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jitsi/jitsi-meet/issues/589#issuecomment-333432441, or mute the thread https://github.com/notifications/unsubscribe-auth/Ab6169JpHLX3y_6GkFg52wiVkeeQlkCxks5soFX-gaJpZM4IBI6X .

stale[bot] commented 5 years ago

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.