Go to file
prlanzarin 325887e325 feat(audio): rework audio join without listen only
This is a rework of the audio join procedure whithout the explict listen
only separation in mind. It's supposed to be used in conjunction with
the transparent listen only feature so that the distinction between
modes is seamless with minimal server-side impact. An abridged list of
changes:
  - Let the user pick no input device when joining microphone while
    allowing them to set an input device on the fly later on
  - Give the user the option to join audio with no input device whenever
    we fail to obtain input devices, with the option to try re-enabling
    them on the fly later on
  - Add the option to open the audio settings modal (echo test et al)
    via the in-call device selection chevron
  - Rework the SFU audio bridge and its services to support
    adding/removing tracks on the fly without renegotiation
  - Rework the SFU audio bridge and its services to support a new peer
    role called "passive-sendrecv". That role is used by dupled peers
    that have no active input source on start, but might have one later
    on.
  - Remove stale PermissionsOverlay component from the audio modal
  - Rework how permission errors are detected using the Permissions API
  - Rework the local echo test so that it uses a separate media tag
    rather than the remote
  - Add new, separate dialplans that mute/hold FreeSWITCH channels on
    hold based on UA strings. This is orchestrated server-side via
    webrtc-sfu and akka-apps. The basic difference here is that channels
    now join in their desired state rather than waiting for client side
    observers to sync the state up. It also mitigates transparent listen
    only performance edge cases on multiple audio channels joining at
    the same time.

The old, decoupled listen only mode is still present in code while we
validate this new approach. To test this, transparentListenOnly
must be enabled and listen only mode must be disable on audio join so
that the user skips straight through microphone join.
2024-08-15 00:43:28 +00:00
.github core: Makes CI read the needed data from an uploaded file when the tests finish (#20810) 2024-08-13 23:48:18 -03:00
akka-bbb-apps feat(audio): rework audio join without listen only 2024-08-15 00:43:28 +00:00
akka-bbb-fsesl fix(sec): Bump logback-classic 2024-03-15 12:07:07 -04:00
bbb-common-message feat(audio): rework audio join without listen only 2024-08-15 00:43:28 +00:00
bbb-common-web Initial implementation to let slides be passed in the backend 2024-08-05 09:30:53 -03:00
bbb-export-annotations build(deps): bump the npm_and_yarn group across 6 directories with 2 updates (#20928) 2024-08-14 08:52:25 -04:00
bbb-fsesl-client Merge pull request #19815 from antobinary/march15-03 2024-03-18 10:04:17 -04:00
bbb-graphql-actions build(deps): bump the npm_and_yarn group across 6 directories with 2 updates (#20928) 2024-08-14 08:52:25 -04:00
bbb-graphql-client-test Fix client test 2024-07-02 14:56:44 -03:00
bbb-graphql-middleware several refactors 2024-08-08 16:50:41 -03:00
bbb-graphql-server feat(plugins): server command send chat message (#20781) 2024-08-07 15:59:30 -04:00
bbb-learning-dashboard build(deps-dev): bump postcss (#20932) 2024-08-14 09:32:30 -04:00
bbb-libreoffice chore: Fix typo (found by typos) (port) #19834 2024-03-18 09:58:53 -04:00
bbb-livekit Add Livekit package 2023-11-28 13:25:50 +01:00
bbb-recording-imex [Snyk] Fix for 2 vulnerabilities (recording-imex) 2024-01-19 16:10:40 -05:00
bbb-voice-conference/config/freeswitch feat(audio): rework audio join without listen only 2024-08-15 00:43:28 +00:00
bigbluebutton-config config: Warn when .dpkg-dist files detected in /etc/default (#20904) 2024-08-12 12:45:45 -04:00
bigbluebutton-html5 feat(audio): rework audio join without listen only 2024-08-15 00:43:28 +00:00
bigbluebutton-tests build(deps): bump the npm_and_yarn group across 6 directories with 2 updates (#20928) 2024-08-14 08:52:25 -04:00
bigbluebutton-web Refactor: Make bundle using webpack (#20811) 2024-08-09 13:58:44 -04:00
build build: revert removal of gzip command in bbb-html5/build.sh (#20929) 2024-08-14 08:48:13 -04:00
docs docs: remove leftover Kurento documentation (#20930) 2024-08-14 10:14:23 -04:00
labs/stress-testing Removes vertx-akka file 2022-06-30 16:51:23 -03:00
record-and-playback fix: record-and-playback/core/Gemfile & record-and-playback/core/Gemfile.lock to reduce vulnerabilities (#20723) 2024-07-18 09:39:30 -04:00
scripts/code-review Fix parameter check on checkout-to-pr script (#18705) 2023-09-04 10:59:49 -03:00
.gitignore Refactor: Make bundle using webpack (#20811) 2024-08-09 13:58:44 -04:00
.gitlab-ci.yml Refactor: Make bundle using webpack (#20811) 2024-08-09 13:58:44 -04:00
.nvmrc Add .nvmrc 2018-10-03 13:33:59 -04:00
bbb-etherpad.placeholder.sh chore: Bump Etherpad to 1.9.4 2023-11-20 11:16:17 -03:00
bbb-pads.placeholder.sh build: Bump bbb-pads to 1.5.2 (port from 2.7) #19070 2023-12-19 11:51:37 -05:00
bbb-playback.placeholder.sh build: Bump bbb-playback to 5.1.1 2024-06-14 10:38:57 -04:00
bbb-presentation-video.placeholder.sh Update bbb-presentation-video to 5.0.0-beta.1 for tldraw v2 shape support 2024-06-11 15:01:47 -04:00
bbb-transcription-controller.placeholder.sh feat: Initial BBB 3.0 Gladia transcriptions implementation (#20295) 2024-06-12 12:06:07 -04:00
bbb-webhooks.placeholder.sh build(bbb-webhooks): v3.2.1 2024-08-05 15:56:36 -03:00
bbb-webrtc-recorder.placeholder.sh build(bbb-webrtc-recorder): v0.7.0 2024-03-14 14:08:54 -03:00
bbb-webrtc-sfu.placeholder.sh build(bbb-webrtc-sfu): v2.14.0-beta.3 2024-06-14 10:52:07 -03:00
freeswitch.placeholder.sh build(sec): upgrade FreeSWITCH to 1.10.11 +sofia-sip +libks (#19377) 2024-01-03 15:19:09 -05:00
LICENSE Add license file 2020-04-23 13:51:05 -03:00
README.md Update README.md 2023-10-22 07:05:51 +02:00
SECURITY.md chore: Fix typo (found by typos) (port) #19834 2024-03-18 09:58:53 -04:00
transifex.yml chore: add transifex.yml for GitHub<->Transifex integration 2022-12-20 19:21:32 +00:00

BigBlueButton

BigBlueButton is an open-source virtual classroom designed to help teachers teach and learners learn.

BigBlueButton supports real-time sharing of audio, video, slides (with whiteboard annotations), chat, and the screen. Instructors can engage remote students with polling, emojis, multi-user whiteboards, shared notes, and breakout rooms. During the session, BigBlueButton generates analytics that are visible to moderators in the Learning Analytics Dashboard.

Presenters can record and playback content for later sharing with others.

We designed BigBlueButton for online learning, it can be used for many other applications as well. The educational use cases for BigBlueButton are

  • Online tutoring (one-to-one)
  • Flipped classrooms (recording content ahead of your session)
  • Group collaboration (many-to-many)
  • Online classes (one-to-many)

The latest version is BigBlueButton 2.7. You can install BigBlueButton 2.6 on Ubuntu 20.04 using bbb-install.sh within 30 minutes (or your money back 😉).

For full technical documentation of BigBlueButton -- including architecture, features, API, and GreenLight (the default front-end) -- see https://docs.bigbluebutton.org/.

BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc.