BigBlueButton

From NixNet
Revision as of 04:43, 25 June 2021 by Amolith (talk | contribs) (add paragraphs about recordings)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
BigBlueButton
BigBlueButton Logo.png
Screenshot of BigBlueButton's home page
Screenshot of BigBlueButton's home page
Repositorygithub.com/bigbluebutton/bigbluebutton
Developer(s)BigBlueButton Inc.
Written inJava, Grails/Groovy, Scala (back-end), JavaScript/React (web framework) (front-end client),
Instance URLmeet.nixnet.services

BigBlueButton is an open source audio and video conferencing tool geared towards education but it's also fantastic for many other uses, from collaborating on software development to conducting remote conferences. Make sure you read the Terms of Service and Privacy Policy as well.

Let me repeat: read the Terms of Service!

Usage

I'll try to cover how BigBlueButton (BBB) works but the best resources are the official guides from the project itself.

Basics

When first joining a BBB meeting, all users will be asked how they want to join audio. If Listen only is chosen, BBB will not attempt to gain access to the microphone and you will just be able to listen and participate in chat. If this was chosen by mistake, simply leave audio by clicking the button at the bottom of the screen and rejoin with microphone.

After selecting the Microphone option, you will be connected to the echo test to ensure you can both hear and be heard. Following this, you'll enter the meeting.

The pane to the far left is for expanding the chat pane (opened by default), showing the shared notes, and interacting with users. Chat is very basic and doesn't do link previews or any markup. However, note that the entire chat history for that session can be saved and will appear in recordings. The shared notes have nice rich text support but they are not saved across sessions and will not appear in the meeting recording. If they need to be kept, someone will have to copy and paste the notes elsewhere before the meeting is ended. In the user pane, clicking on your profile will reveal a dialogue that lets you set your status. This is a way of interacting with the presenter or moderators without disrupting the meeting/presentation; when you have a question, raise your hand, when the presenter asks for feedback, use thumbs up, thumbs down, etc. It's pretty self-explanatory. You're also able to mute yourself.

The next UI element is the presentation area. In the top middle, you'll see the room name in addition to whether or not the session is being recorded. To the right of that, the kebab menu (three vertical dots) reveals a settings page along with links to the official guides, keyboard shortcuts, and a logout button. Moving to the bottom, you'll see buttons for muting yourself, leaving audio, and sharing your webcam.

Moderator

One of the odd things about BBB is there isn't actually a level higher than moderator. The person who starts the session is the only mod by default and can appoint others. However, the appointed moderators can also demote the one who appointed them and take over the session so be careful who you promote.

Moderators have full user management privileges. By clicking another user's icon in the list, they're able to mute, demote, promote, and remove people from the session. By clicking the gear icon at the top of the list, they can:

  • Clear status icons (the emojis such as thumbs up, raised hand, etc.)
  • Mute all non-moderators
  • Mute everyone except the presenter
  • Prevent users from changing their names
  • Globally restrict non-moderators
    • Click the Lock viewers item to view what can be enabled or disabled
  • Create breakout rooms (more on this later)
  • Add closed captions

A plus button has also been added to the bottom left of the presentation area and this allows moderators to take presenter status from whoever currently holds it.

Breakout rooms are an interesting feature and one I've used heavily in foreign language courses. You can break participants up into a specific number of groups randomly or by assignment and configure how long the breakout rooms will last. After they've been created, users will be prompted to join the room and a new item will appear under the Notes section in the far left pane. Clicking that item will expand a Breakout Rooms tab where moderators are able to join the audio of any of the rooms and listen in or fully join the room to interact with its participants. At the bottom of that pane is a button to end the breakout rooms early. Doing so will bring all users back to the main session and prompt them to join audio again.

Presenter

The presenter has additional options under the blue plus icon in the lower left. Starting a poll is fairly straightforward but the question and options will need to spoken as there's no way to enter them. Polls will not show up in the session recording. The second option is to upload a presentation. This can be any document format but PDF is strongly recommended and the most reliable. Slides will be shown in the recording as well as used for marking sections of it: when transitioning from one slide to the next, that timestamp is saved so it can be jumped to when watching later. In the middle bottom, there's another button that looks like a monitor and it's for sharing your screen. On the right side of the presentation area, there is a whole new panel with various buttons. I recommend simply exploring these to see what each does. The bottom button, Turn multi-user whiteboard on, will allow any participant to annotate the presentation, undo annotations, and clear them all. Clicking the button again will disable the feature.

Note that there can only be one presenter at a time. If someone else needs to share their screen, either the current presenter or a moderator needs to click that user's profile and select the option to Make presenter.

Recordings

BigBlueButton recordings are simultaneously very useful but also somewhat limited. As noted above, shared notes and polls are not saved so they will need to be copied elsewhere if desired. To record the session, as the presenter, simply click the red button at the top of the screen in the middle. To pause or end the recording, just click it again. After the meeting has ended, BBB has to process the recording and this can take quite some time depending on its length and complexity as the speaker's video has to be transcoded, the presentation added, timestamps applied, chat logs added based on those timestamps, etc. It can take anywhere from a few minutes to many hours. Once it's finished processing, the recording will be shown on the room's home page. By default, they're unlisted so no one but the room owner can see them. Changing its privacy to public will list the video on the room's homepage where anyone can see it.

You must inform participants if you wish to record the meeting.

Recording deletion

Due to storage limitations on this server, recordings are deleted after 1 month

However, a plugin will be installed in the near future that automatically produces a downloadable file which can then be uploaded to platforms like YouTube or Peertube. If the recording needs to be kept for longer than 1 month, users are strongly encouraged to download this file as soon as it's available. Because it's produced from BigBlueButton's own format, this file will be available some hours after the recording shows up on the room's home page. I would recommend giving it about a day before checking.

To check whether the video is finished transcoding or to download it once it has, open your room's homepage and click the Presentation buttong beside the recording you want to download. In the URL, copy everything after ?meetingId=. This is your meeting's unique ID and it's a long string of alpha-numeric characters with a dash towards the end. Your downloadable file will be available at https://meet.nixnet.services/presentation/MEETING-ID/video.mp4. Just replace MEETING-ID with your meeting's ID and you should be taken to an MP4 file. If it's not there yet, just wait a few hours and check back. If it's still not there a couple of days after the recording has been published to your room's home page, let us know and we'll take a look.

If your recording was published prior to when we installed the plugin, your file will need to be manually generated. If you would like a downloadable recording, please send us an email and include a link to your meeting so we can start that process.

Tips

Browsers

Chromium-based browsers such as ungoogled-chromium, Chromium itself, Brave, Chrome, etc. appear to work best with BBB. Firefox works well for many users though some have reported issues with it in addition to Safari. It would be best to test this ahead of any scheduled meeting.

Screen sharing

Linux

Linux users on Wayland (default in GNOME and a couple of other environments) may experience problems trying to share their screens, however, sharing particular browser tabs or windows will work provided that they're running under XWayland. The easiest solution is simply using X11 for now. For GNOME, this can be accomplished by simply logging out and choosing GNOME (X11) in the environment selection dialogue.

Mac

Users of the latest version of OS X may be prompted to open their system preferences to allow screen sharing for BigBlueButton. If you intend to do this during a meeting, please test this ahead of time. You can learn more here.

Using system audio

When demonstrating something locally that has audio output, it can be useful and desireable to send that to BBB as audio input.

The audio source for BigBlueButton is set when the user joins audio for the room, which may happen when they join the room. If you have already joined the room, you can change your audio source by first leaving the audio. You do this by clicking the icon on the bottom that resembles a phone or headphones. The icon will switch to a phone with a strike through and a notification in the upper right will inform you that "You have left the audio conference." Click the phone icon again to rejoin audio. A popup will ask you "How would you like to join the audio?" Click on the microphone. Your browser may at this point ask you for permission to share audio and ask what audio you want to share. If you want to share your microphone to speak, select that. If you want to share system audio, please look for your operating system below to find what this should be set to.

BigBlueButton will show to an echo test panel. Speak if you're using your microphone or send system audio and listen for an echo. If you do not hear what you expect, click no.

Test your speakers. If they don't work, change the output on the right and click "Retry" to try the echo test again.

If your speakers work, try changing the audio input source on the left and retry. Alternatively, if you are using a Chromium-based browser, you can open chrome://settings/content/microphone in another tab to set your audio there and it should affect your BigBlueButton tab. However, you may find that you need connect, disconnect and connect to audio again for these changes to take effect. If you change your audio via the Chrome settings, you may want to remember to switch back after you finish using BigBlueButton.

If you plan to change system audio during your meeting, you may want to test and practice switching in advance.

The processes for making desktop audio available to BigBlueButton are different for every operating system.

Linux

Pulse

If you want to share your normal system audio of pulse applications, first connect to audio and go through the echo test then open pavucontrol and head to the Recording tab. There should be an item named after either BBB itself or after the browser you're using. To the right of the name, there's a button with your current input source. Click that and set it to Monitor of XXXX where XXXX is whatever physical device you're using. BBB will then record audio from that device. Keep in mind, however, that you won't be able to narrate or talk until you switch the Recording device back to your microphone. You may also need to switch audio settings via the web interface, as described at the top of this section.

Jack

These instructions are for Chromium or Chrome.

If you are using BBB with a pro-audio app, such as SuperCollider, pd, or Reaper, or just wish to have a more complicated setup, you will need to use JACK and Pulse at the same time. There are detailed instructions here, but one route is to use Qjackctl. In settings, under the option tab, go to Execute Script after startup. Paste in pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source channels=2; pacmd set-default-sink jack_out.

You can test if both are running at once by starting jack and then playing audio from a normal system program like your web browser. If you hear sounds, it worked.

This will have created two pulse "sinks". One will be a route to get audio into BBB and the other to get audio out. Start the pro audio app that you wish to use with BBB and make sure the audio engine is turned on. Go to Qjackctl, click Connections, then go to the Audio tab. Make a connection from your pro audio app to Pulse Audio Jack Source-01 input. Do this by clicking on the application in the left column and the Source-01 in the right column so both are highlighted. Then click the Connect button in the lower left.

If you want to leave the microphone directly connected, be sure the system output also goes to the Source-01 input or break the connection to turn off your mic. Connect both Pulse audio sinks so their output goes to the system.

Using SuperCollider with BBB, without a microphone

When you set your audio input as described at the top of the section, the Mic input to use for BigBlueButton audio will be Pulse Audio Jack Source-01.

Mac

Mac users will need to install additional software to route system audio to the web browser. One free option that works on most versions of OS X, including Catalina, is BlackHole.

Consumer Audio

Once you've installed your audio routing software, go to Applications → Utilities → Audio MIDI Setup. Under the windows menu, select Show Audio Devices. Click the + button in the lower left and select Create Multi Output Device. Right-click on the new device and rename it to BBB Audio. Select Built-in Output and Blackhole 16ch. Make sure the Master device is the built-in. Also tell that device to do drift correction.

Then, in whatever software that you're using, tell it to output to your new BBB device and/or tell your system output to go to the new BBB device. When you set your audio input as described at the top of the section, the Mic input to use for BigBlueButton audio will be BlackHole.


Pro Audio

If you are routing sound from a DAW or another program that allows sound mixing, such as Ableton Live or SuperCollider, you may wish to route your microphone through your audio software. If you do that, instead of creating a Multi Output Device as above, you would want to create an Aggregate Device which includes your microphone input, Blackhole, and your speakers as output. When you create this in Audio MIDI Setup, be sure that you correct for drift. The UI will show you a graph of what channels of the Aggregate device are routed from the Mic and to the speaker and Blackhole.

Using Audio MIDI Setup to create an Aggregate Device

In your DAW, you would use the Mic's input channels and send the mic output to Blackhole channels only, so as to avoid feedback. Any audio that you wish to monitor would need to be sent to both the Hardware out channels to reach your speakers and the Blackhole channels to reach your web browser. Keep in mind that the browser will (probably) only get the first two Blackhole channels.

When you set your audio input as described at the top of the section, the Mic input to use for BigBlueButton audio will be BlackHole.

Windows

You can use VB-CABLE Virtual Audio Device to route your system output to BBB. Install it, reboot, open sound settings, and make sure the output device is CABLE Input, and the Input device CABLE Output. When you log into the BBB session this should be your default device.

Broadcasting with OBS

You must inform users in your meeting if you intend to broadcast it; not doing so would be a violation of the GDPR as it is equivalent recording someone without their permission and putting it on the internet.

Linux

Jack

If you are both sharing system audio and broadcasting the workshop, you will need to use Jack. See above on setting up jack.

  • In OBS, under sources, add a Jack input channel.
  • Connect everything as you would for sending system and pro-audio output to your browser, as described above
  • Connect the system output to your new OBS input
  • Connect your pro-audio output to your new OBS input

Remember that, if you are a Wayland user, you cannot send your whole screen to OBS—you must treat every browser tab or window running under XWayland as a seperate input source or install the wlrobs plugin. It facilitates desktop recording under Wayland but can be difficult to install. However, if you're on Arch Linux, there is a PKGBUILD in the AUR that does all the compilation and setup.

If you are running the meeting, you may wish to enlist the help of another participant to run OBS.

Mac

Mac users will need to install additional software to route system audio to OBS. This is in additition to any audio drivers you may have installed for your web browser. OBS currently recommends that Mac users install iShowU Audio Capture. This should work for Catalina and older operating systems.

Once you've installed your audio routing software, go to Applications → Utilities → Audio MIDI Setup. Under the windows menu, select Show Audio Devices. Click the + button in the lower left and select Create Multi Output Device. Right-click on the new device and rename it to OBS Audio. Select Built-in Output and iShowU Audio Capture. Make sure the Master device is the built-in. Also tell that device to do drift correction.

In System Preferences, go to Sound and set your output device to your new OBS Audio device. This will copy all audio destined for your speakers to also go to iShowU.

In OBS, set one of your audio inputs to be iShowU. If you are using a microphone that you have not also routed to your speakers, you will need to also set that as an input, to make sure that it is also broadcast.

If you are running the meeting, you may wish to enlist the help of another participant to run OBS. That participant should leave their microphone turned on at all times in BBB and use the input levels in their system preferences to mute their microphone when not speaker. This is to prevent them from accidentally overdubbing your meeting with their household sounds.

Windows

Please help us complete this section