Playback server different from main server.

474 views
Skip to first unread message

Sam

unread,
Sep 11, 2012, 1:47:28 AM9/11/12
to bigblueb...@googlegroups.com
Hi All,

Firstly, thanks for the great work on BBB... its much appreciated. 

We are setting up BBB in a production environment and I was wondering if the following would be possible. My plan is to have BBB servers which can be dynamically started and stopped, that store their recordings in /var/bigbluebutton which is NFS mounted from a central "playback" server.The idea being, the BBB servers can be started or stopped on demand, but recordings are always available for playback from a central server (via popcorn.js). The playback server would just have the minimum required to serve up the recorded sessions. Ideally, multiple BBB servers could all be processing or recording at the same time (although we will most likely not need this at the beginning).

I will investigate it more fully today, but just thought I'd pass it by you all first to find out if you can see any obvious roadblocks to the idea.

regards
sam

Fred Dixon

unread,
Sep 11, 2012, 7:36:03 AM9/11/12
to bigblueb...@googlegroups.com
Hi Sam,

Glad to hear you are deploying BigBlueButton in production!

You can certainly dynamically start/stop servers on Amazon EC2 using the Amazon API by writing the appropriate logic in your integration code that calls the BigBlueButton API  But as you pointed out, the recordings are on the BigBlueButton server, and would be unavailable once the server is stopped.  The ingest and processing scripts are written in Ruby, so you could add additional logic in the Ruby scripts to move the published recordings to a central BigBlueButton server.  For more information on the architecture of the recordings, see

  http://code.google.com/p/bigbluebutton/wiki/RecordPlaybackSpecification

You can then query the central BigBlueButton server for recordings.

Bottom line: the idea will work.   We know some of the companies that provide commercial support for BigBlueButton have experience implementing such approaches for customers.  See



Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton


sam

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-dev/-/I4esbjf7LqYJ.
To post to this group, send email to bigblueb...@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/bigbluebutton-dev?hl=en.





HostBBB.com

unread,
Sep 11, 2012, 7:52:56 AM9/11/12
to BigBlueButton-dev
One approach is to sync all /var/bigbluebutton files realtime with a
ununtu tool that mounts an S3 amazon bucket. the archives are then
available is S3, as is the popcorn.js player... Slight
modifications to the popcorn.js are needed to read the s3 xml and
media urls but it works good.

When the instance is destroyed, the meeting data persists... also when
files are deleled on BBB server to free up disk space they still
persist.

Whats neat is the archives play even when BBB server is not running.

Regards,
Stephen
hostbbb.com


On Sep 11, 7:36 am, Fred Dixon <ffdi...@gmail.com> wrote:
> Hi Sam,
>
> Glad to hear you are deploying BigBlueButton in production!
>
> You can certainly dynamically start/stop servers on Amazon EC2 using the
> Amazon API by writing the appropriate logic in your integration code that
> calls the BigBlueButton API  But as you pointed out, the recordings are on
> the BigBlueButton server, and would be unavailable once the server is
> stopped.  The ingest and processing scripts are written in Ruby, so you
> could add additional logic in the Ruby scripts to move the published
> recordings to a central BigBlueButton server.  For more information on the
> architecture of the recordings, see
>
>  http://code.google.com/p/bigbluebutton/wiki/RecordPlaybackSpecification
>
> You can then query the central BigBlueButton server for recordings.
>
> Bottom line: the idea will work.   We know some of the companies that
> provide commercial support for BigBlueButton have experience implementing
> such approaches for customers.  See
>
>  http://bigbluebutton.org/support
>
> Regards,... Fred
> --
> BigBlueButton Developerhttp://bigbluebutton.org/http://code.google.com/p/bigbluebutton

Sam

unread,
Sep 11, 2012, 5:06:42 PM9/11/12
to bigblueb...@googlegroups.com
That sounds pretty neat, we will be using Rackspace so their features are slightly different from Amazon, and from the testing I did today it looks like a fairly easy job to offload the playback to a different server. However given I'm pushed for time before our classes start, I might delay this to a future date and just stay with the one server for now (perhaps downgrading it during the week when there are few online sessions).
Message has been deleted

Maksim Ustinov

unread,
Oct 17, 2012, 10:23:45 PM10/17/12
to bigblueb...@googlegroups.com
Recently I implemented this in my bbb installation.
I use AWS to host my service and all my instances running Ubuntu and here is what I did:

1. Install Prerequisits
sudo apt-get install build-essential libfuse-dev fuse-utils libcurl4-openssl-dev libxml2-dev mime-support

Install fuse 2.8.4 (Ubuntu’s default is outdated)

tar xzf fuse_2.8.4.orig.tar.gz
cd fuse-2.8.4/
sudo ./configure
sudo make && sudo make install

2. Download and Install s3fs-c
cd s3fs-c
sudo ./configure
sudo make && sudo make install
Place Credentials:

sudo vi /etc/passwd-s3fs

Paste: [AWS_KEY]:[AWS_SECRET]

3. Create directory where to s3 bucket will be mounted
sudo mkdir /mnt/s3

Mount: 
sudo s3fs bbb-recordings /mnt/s3
sudo chown -R tomcat6:tomcat6 /mnt/s3


Create a script to mount s3
sudo vi /etc/init.d/script-to-mount-s3--bbb-recordings-storage.sh

Paste:
#!/bin/sh
sudo mkdir /mnt/s3
sudo s3fs bbb-recordings /mnt/s3

sudo chmod +x /etc/init.d/script-to-mount-s3-bbb-recordings-storage.sh
sudo update-rc.d script-to-mount-s3-bbb-recordings-storage.sh

4. Change playback html page to poin to the right folder
   sudo vi s3/playback/slides/js/playback.js


   Change RECORDINGS and  SLIDES_XML to:
      var RECORDINGS = "http://" + HOST + "/published/slides/" + MEETINGID;
      var SLIDES_XML = "http://" + HOST + "/published/slides/" + MEETINGID + '/slides.xml';


And make sure you associate recording ids with your ids somewhere else so you can associate them with the meetings later.

Fred Dixon

unread,
Oct 18, 2012, 7:33:29 AM10/18/12
to bigblueb...@googlegroups.com
Hi Maksim,

Thanks for sharing this!


Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton


To view this discussion on the web visit https://groups.google.com/d/msg/bigbluebutton-dev/-/lR6EECUZRQkJ.
Reply all
Reply to author
Forward
0 new messages