API Detect if the server has pending recordings to process

66 views
Skip to first unread message

David Rojo

unread,
Apr 23, 2015, 11:31:39 AM4/23/15
to bigblueb...@googlegroups.com
Hi Fred,

In the new version 0.9, I haven't found any way to check if a meeting is going to be recorded using the API after the meeting has ended.

I can send the record value to true in the create API, but if the user doesn't press the start recording button the meeting will not be recorded, this behaviour is correct, but there is no way to see if a meeting will be recorded or not, as getMeetingInfo returs record=>true if the recording option is enabled, and I think it shoud return true only if the user has started the recording, or give this information in another field.

Also after the meeting has ended and before the playback is available, there is a "black hole" were you cannot get any information about the meeting. getMeetingInfo returns "We could not find a meeting with that meeting ID" and getRecordings returns "There are not recordings for the meetings" until the playback is available. I think that as soon as the meeting has ended, the getRecordings should return that the playback is beeing processed if the user has recorded the meeting, or there should be another API to check that.


HostBBB.com

unread,
Apr 24, 2015, 7:11:57 AM4/24/15
to bigblueb...@googlegroups.com
David, would be interested in what use case you have for putting this information in front of end user.   You can extend bbb_web to add these checks, or devise some other way of querying the server by looking at the process flags in RAP directories.

Also .90 has hooks in RAP, so with a few lines of ruby code you could have bbb callback your server and update a db table on process for each step for a meeting.

We use these to push recordings to our webm converter and central storage libraries so recordings and meeting statistics don't need to remain on server forever.

You could even trigger an email to the user with playback link when finished.

Regards,
Stephen

David Rojo

unread,
Apr 26, 2015, 6:43:17 PM4/26/15
to bigblueb...@googlegroups.com
Thanks Stephen,

I will take a look at post script to see if I can archieve my goals.

I am currently using BBB in an AWS server because we cannot aford a private server for the BBB application right now, and we use it only a few hours per month, so an AWS server fits in our needs.

I needed to know if a meeting is going to be recorded to manage the start and stop actions for our AWS server, if a meeting is not going to be recorded, after the meeting has ended the server can be halted, if a meeting is going to be recorded I have to wait until the record is processed and then I copy the recorded files into our applications server (wich is 24/7 up) where I have replicated the playback site allowing our students to visualize the recorded meetnig, and then I am able to halt the BBB server.

David Rojo

unread,
Apr 28, 2015, 10:50:14 AM4/28/15
to bigblueb...@googlegroups.com
Hello Stephen,

I've been looking the documentation and I think it will be enough for my goal.

The problem is that I am not familiar with ruby and I am a little bit confused with the documentation ;)

I just need to call an url after the meeting has ended (or during the meeting) indicating that the meeting is going to have a playback or not, something like this:


The code i think should be something like this:

require 'net/http'

has_playback =  ??????

Net::HTTP.get(URI.parse(url))

With that I will be sure that i have to wait until the playback is available or not after sutting down the bbb server.

- In which script should I put this code?
- Which code should I wirte to get the value for has_playback variable?

Thank you

HostBBB.com

unread,
May 2, 2015, 10:20:01 AM5/2/15
to bigblueb...@googlegroups.com
Look for post_publish-example.rb

copy to post_publish,rb
Make sure permissions are set.

add a wget line that executes the call needed.  you will see you have access to meetingid already

Ruby can call a bash command if your not up to speed with ruby coding directly,

execute=`/usr/bin/wget  /your/script $meetingId -(look at wget on how to pass args)`

Now everytime a recording is published this script runs.

You can also move recordings to S3 or trigger an email to user etc with few lines of code.

regards,
Stephen
Reply all
Reply to author
Forward
0 new messages