CINXE.COM

<!doctype html> <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7 docs-doc-page docs-doc-id-support/faq" data-has-hydrated="false"> <head> <meta charset="UTF-8"> <meta name="generator" content="Docusaurus v3.3.2"> <title data-rh="true">FAQs | BigBlueButton</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.bigbluebutton.org/support/faq/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="2.7"><meta data-rh="true" name="docusaurus_tag" content="docs-default-2.7"><meta data-rh="true" name="docsearch:version" content="2.7"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-2.7"><meta data-rh="true" property="og:title" content="FAQs | BigBlueButton"><meta data-rh="true" name="description" content="BigBlueButton FAQs"><meta data-rh="true" property="og:description" content="BigBlueButton FAQs"><meta data-rh="true" name="keywords" content="administration,faq"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.bigbluebutton.org/support/faq/"><link data-rh="true" rel="alternate" href="https://docs.bigbluebutton.org/support/faq/" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.bigbluebutton.org/support/faq/" hreflang="x-default"><script src="https://cdn.baycloud.com/cl.js?cid=9be233bfe3004dc49e742fd0fa98642c&hN=docs.bigbluebutton.org"></script><link rel="stylesheet" href="/assets/css/styles.47ff481a.css"> <script src="/assets/js/runtime~main.bafa1abe.js" defer="defer"></script> <script src="/assets/js/main.66666826.js" defer="defer"></script> </head> <body class="navigation-with-keyboard"> <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="BigBlueButton Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="BigBlueButton Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">BigBlueButton</b></a><a href="https://bigbluebutton.org/teachers/tutorials/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Teaching</a><a class="navbar__item navbar__link" href="/development/guide/">Development</a><a class="navbar__item navbar__link" href="/administration/install/">Administration</a><a class="navbar__item navbar__link" href="/greenlight/v3/install/">Greenlight</a><a class="navbar__item navbar__link" href="/new-features/">New Features</a><a class="navbar__item navbar__link" href="/support/getting-help/">Support</a></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a class="navbar__link" aria-haspopup="true" aria-expanded="false" role="button" href="/accessiblity/">2.7</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/3.0/support/faq/">3.0</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/support/faq/">2.7</a></li><li><a class="dropdown__link" href="/2.6/support/faq/">2.6</a></li><li><a class="dropdown__link" href="/2.5-legacy/support/faq/">2.5-legacy</a></li></ul></div><a href="https://github.com/bigbluebutton/bigbluebutton/tree/v3.0.x-release/docs" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><div class="navbar__search searchBarContainer_NW3z"><input placeholder="Search" aria-label="Search" class="navbar__search-input"><div class="loadingRing_RJI3 searchBarLoadingRing_YnHq"><div></div><div></div><div></div><div></div></div></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" href="/support/getting-help/">Support</a><button aria-label="Collapse sidebar category &#x27;Support&#x27;" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/support/getting-help/">Getting Help</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/support/faq/">FAQs</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/support/troubleshooting/">Troubleshooting Guide</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/support/troubleshooting/">Troubleshooting Guide</a></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/support/getting-help/"><span itemprop="name">Support</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">FAQs</span><meta itemprop="position" content="2"></li></ul></nav><span class="theme-doc-version-badge badge badge--secondary">Version: 2.7</span><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>FAQs</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="welcome">Welcome<a href="#welcome" class="hash-link" aria-label="Direct link to Welcome" title="Direct link to Welcome">​</a></h2> <p>Welcome to the BigBlueButton project&#x27;s Frequently Asked Questions (FAQ).</p> <p>We (the <a href="#bigbluebutton-committer">core developers</a>) created this FAQ to quickly answer common questions around installation, configuration, and using BigBlueButton. If you are a developer, you&#x27;ll find lots of answers herein that have been collected from discussions on our mailing lists.</p> <p><em>NOTE:</em> For teachers and students, you&#x27;ll find the <a href="https://support.bigbluebutton.org/">Knowledge Base</a> the best resource for how-to articles on using BigBlueButton. Also check out the <a href="https://bigbluebutton.org/teachers/tutorials">Tutorial Videos</a> as well.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="what-if-i-dont-find-my-answer-here">What if I don&#x27;t find my answer here<a href="#what-if-i-dont-find-my-answer-here" class="hash-link" aria-label="Direct link to What if I don&#x27;t find my answer here" title="Direct link to What if I don&#x27;t find my answer here">​</a></h3> <p>The BigBlueButton community focuses its support in three mailing lists, each hosted by Google Groups. Each group focuses on a different topic of questions:</p> <ul> <li><a href="https://groups.google.com/forum/#!forum/bigbluebutton-setup" target="_blank" rel="noopener noreferrer">bigbluebutton-setup</a> -- Setup, installation, and configuration questions, such as &quot;How do I configure the BigBlueButton client?&quot;</li> <li><a href="https://groups.google.com/forum/#!forum/bigbluebutton-users" target="_blank" rel="noopener noreferrer">bigbluebutton-users</a> -- End user questions, such as &quot;How do I do X with BigBlueButton?&quot;</li> <li><a href="https://groups.google.com/forum/#!forum/bigbluebutton-dev" target="_blank" rel="noopener noreferrer">bigbluebutton-dev</a> -- All other questions, such as &quot;How do I integrate BigBlueButton with my application?&quot;</li> </ul> <p>The developer mailing list has over 4000 users, so before you post:</p> <ol> <li>Scan this FAQ to see if your question is answered herein.</li> <li>Use Google to search for keywords related to your question -- there&#x27;s a good chance someone might have already asked your question in the Google groups.</li> <li>If you think you&#x27;ve found a bug, first check the <a href="https://github.com/bigbluebutton/bigbluebutton/issues" target="_blank" rel="noopener noreferrer">issues database</a> to check if it&#x27;s already been reported.</li> </ol> <p>All of the core BigBlueButton contributors subscribe to all three mailing lists. Please don&#x27;t cross post to more than one list -- you are only causing more effort to answer all the threads.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="why-is-this-project-called-bigbluebutton">Why is this project called BigBlueButton<a href="#why-is-this-project-called-bigbluebutton" class="hash-link" aria-label="Direct link to Why is this project called BigBlueButton" title="Direct link to Why is this project called BigBlueButton">​</a></h3> <p>The name came from the goal of making the process to setup a virtual classroom as easy as pressing a (metaphorical) big blue button.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="why-is-it-spelled-bigbluebutton-and-not-big-blue-button">Why is it spelled BigBlueButton (and not Big Blue Button)<a href="#why-is-it-spelled-bigbluebutton-and-not-big-blue-button" class="hash-link" aria-label="Direct link to Why is it spelled BigBlueButton (and not Big Blue Button)" title="Direct link to Why is it spelled BigBlueButton (and not Big Blue Button)">​</a></h3> <p>The trademark is written as one word BigBlueButton. Doing so makes it easy for others to use Google to search for information about the project.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="where-is-the-source">Where is the source<a href="#where-is-the-source" class="hash-link" aria-label="Direct link to Where is the source" title="Direct link to Where is the source">​</a></h3> <p>The BigBlueButton source code is at <a href="https://github.com/bigbluebutton/bigbluebutton" target="_blank" rel="noopener noreferrer">https://github.com/bigbluebutton/bigbluebutton</a>. As an open source project, you are welcome to fork BigBlueButton and build your own applications upon it.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-the-open-source-license-used-in-bigbluebutton">What is the open source license used in BigBlueButton<a href="#what-is-the-open-source-license-used-in-bigbluebutton" class="hash-link" aria-label="Direct link to What is the open source license used in BigBlueButton" title="Direct link to What is the open source license used in BigBlueButton">​</a></h3> <p>We use the LGPL license Version 3.0. Some of the open source components we build on use different licenses, such as red5phone uses the GPL license.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="will-bigbluebutton-always-stay-open-source">Will BigBlueButton always stay open source<a href="#will-bigbluebutton-always-stay-open-source" class="hash-link" aria-label="Direct link to Will BigBlueButton always stay open source" title="Direct link to Will BigBlueButton always stay open source">​</a></h3> <p>Yes.</p> <p>We started BigBlueButton as an open source project, and we intend to keep it that way. One of the main goals we had was to create a large open source community around the project. To further this goal, we are in the process of putting together an <a href="https://bigbluebutton.org/2010/07/12/bigbluebutton-foundation/" target="_blank" rel="noopener noreferrer">independent not-for-profit BigBlueButton organization</a> (similar to the Eclipse Foundation) to oversee and accelerate the growth of the BigBlueButton project.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="i-tried-to-join-one-of-the-mailing-lists-and-got-rejected">I tried to join one of the mailing lists and got rejected<a href="#i-tried-to-join-one-of-the-mailing-lists-and-got-rejected" class="hash-link" aria-label="Direct link to I tried to join one of the mailing lists and got rejected" title="Direct link to I tried to join one of the mailing lists and got rejected">​</a></h3> <p>To avoid SPAM in our mailing lists, when you apply to join you are prompted to ask a simple question. If we get an application without an answer, we assume the application is from a bot and delete it.</p> <p>Be sure to provide us an answer so we know your a real person that wants to join our community.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="bigbluebutton-development-process">BigBlueButton Development Process<a href="#bigbluebutton-development-process" class="hash-link" aria-label="Direct link to BigBlueButton Development Process" title="Direct link to BigBlueButton Development Process">​</a></h2> <p>There is a very active BigBlueButton community of members on the developer mailing list (over 2000 members and counting!). In the BigBlueButton community at-large all the members, users, developers, educational institutions, and commercial companies are all collaborating on using and improving BigBlueButton.</p> <p>As with any open source project, the continued growth of the community depends on the quality of the software. The quality of the software, in turn, depends on the developers involved and the process we use to build a release.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="development-priorities">Development Priorities<a href="#development-priorities" class="hash-link" aria-label="Direct link to Development Priorities" title="Direct link to Development Priorities">​</a></h3> <p>The core group of BigBlueButton committers have adopted an open source development process with the following priorities (in order):</p> <ul> <li>Stability</li> <li>Usability</li> <li>Features</li> <li>Modularity</li> <li>Scalability</li> </ul> <p>It cannot be overstated that the project&#x27;s focus is primarily on stability. For a university or college to deploy BigBlueButton for live classes, or for a commercial company to embed BigBlueButton into their product, the software must be extremely stable. To that end, you&#x27;ll notice from the previous release notes that we tend to spend <em>months</em> testing each release candidate before issuing a release.</p> <p>Achieving stability is no easy task. BigBlueButton itself is built upon many great open source projects (such as FreeSWITCH, redis, Akka, and others) with sub-systems responsible for sharing of slides, video, audio, text, and desktop sharing. The stability of the product today is a direct result of the committers, the development process, and the community all working together. We release on quality, not dates.</p> <p>Usability ranks a close second. Without a simple-to-use (we like to call it elegant) user interface, BigBlueButton would neither be adopted, nor viewed as a compelling alternative to more complex (and proprietary) equivalents.</p> <p>Features are the focus of each release, and we focus on the features that our core market (on-line learning) will benefit from most.</p> <p>Modularity enables components of BigBlueButton to be developed, refactored, and upgraded in parallel. During each release we invariably rewrite parts of BigBlueButton to improve modularity. Much of this is invisible to end-users, but it keeps the technical debt low, so we can innovate faster with each release.</p> <p>Scalability is important as our market grows. We designed BigBlueButton to be a highly collaborative system.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="bigbluebutton-committer">BigBlueButton Committer<a href="#bigbluebutton-committer" class="hash-link" aria-label="Direct link to BigBlueButton Committer" title="Direct link to BigBlueButton Committer">​</a></h3> <p>Like many open source projects, at the core of the project are a team of developers that have responsibility for core development and overall quality of the project. The current committers are as follows:</p> <p>Committers:</p> <ul> <li>Richard Alam, lead architect</li> <li>Felipe Cecagno, core</li> <li>Fred Dixon, project manager</li> <li>Jesus Federico, integrations</li> <li>Anton Georgiev, HTML5 client</li> <li>Tiago Jacobs, core</li> <li>Paulo Lanzarin, audio/video</li> <li>Pedro Marin, client</li> <li>Ghazi Triki, core</li> <li>Calvin Walton, record and playback</li> </ul> <p>Past Committers (fondly remembered):</p> <ul> <li>Oswaldo Acauan, HTML5 client</li> <li>Marco Calderon, server</li> <li>Chad Pilkey, HTML5 client</li> <li>Gustavo Salazar, record and playback</li> <li>Jeremy Thomerson, API</li> <li>Denis Zgonjanin, client</li> </ul> <p>The committers have earned this responsibility through years of contribution to BigBlueButton and to related open source projects (i.e. red5). In particular, we very much respect Richard&#x27;s seven year-plus effort to create BigBlueButton. As the Lead Architect for our project, he has the final say.</p> <p>The committers are very active in the support and mentoring of other developers in the <a href="https://groups.google.com/forum/#!forum/bigbluebutton-dev" target="_blank" rel="noopener noreferrer">bigbluebutton-dev</a> mailing list. The BigBlueButton project also participated in the 2010 Google Summer of Code (Google paid for two students to work on the project).</p> <p>The committers group is not closed. Any developer that wishes to become a committer can achieve it through participation. The decision of expanding the committers group rests with the committers.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="process">Process<a href="#process" class="hash-link" aria-label="Direct link to Process" title="Direct link to Process">​</a></h3> <p>Each release cycle goes according to the following steps.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="1-planning">1. Planning<a href="#1-planning" class="hash-link" aria-label="Direct link to 1. Planning" title="Direct link to 1. Planning">​</a></h4> <p>During the planning process, the committers decide on the main features for a release by reviewing the <a href="/support/road-map/">BigBlueButton Road Map</a> along with all starred issues and, in particular, issues marked with tags <a href="https://github.com/bigbluebutton/bigbluebutton/issues?q=is%3Aissue+is%3Aopen+label%3AStability" target="_blank" rel="noopener noreferrer">stability</a> and <a href="https://github.com/bigbluebutton/bigbluebutton/issues?utf8=%E2%9C%93&amp;q=is%3Aissue%20is%3Aopen%20label%3Ausability" target="_blank" rel="noopener noreferrer">usability</a>.</p> <p>We review the features according to the development priorities for our target market (see <a href="#when-will-feature-x-be-implemented">When will feature X be implemented?</a>).</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="2-design">2. Design<a href="#2-design" class="hash-link" aria-label="Direct link to 2. Design" title="Direct link to 2. Design">​</a></h4> <p>After the planning phase, each feature for the release is assigned an issue in the BigBlueButton Issue Tracker (if it does not already have one). This allows the community to track the progress of each release. See <a href="https://github.com/bigbluebutton/bigbluebutton/issues" target="_blank" rel="noopener noreferrer">List of open issues/enhancements</a>.</p> <p>For small features, especially bug fixes, the associate issue provides a sufficient record for coordinating and tracking the development effort.</p> <p>For more complex features, such as record and playback, API changes, or creation of an HTML5 client, the lead developer for the feature would post specifications to BigBlueButton-dev for review and comment.</p> <p>For examples of previous posts, see:</p> <ul> <li><a href="https://groups.google.com/group/bigbluebutton-dev/browse_thread/thread/c214cbe9bdb2268a" target="_blank" rel="noopener noreferrer">0.80 API changes</a></li> <li><a href="https://groups.google.com/group/bigbluebutton-dev/browse_thread/thread/c17afb3e850b185a" target="_blank" rel="noopener noreferrer">HTML5 Client Architecture</a></li> <li><a href="https://groups.google.com/d/msg/bigbluebutton-dev/02um_1Pkqnk/Qil66KztUX8J" target="_blank" rel="noopener noreferrer">Feature for pre-upload of documents</a></li> </ul> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="3-development">3. Development<a href="#3-development" class="hash-link" aria-label="Direct link to 3. Development" title="Direct link to 3. Development">​</a></h4> <p>During the development phase, the committers hold bi-weekly (and sometimes weekly) calls as development proceeds towards beta.</p> <p>The submitter of the pull request is responsible for ensuring the feature works correctly against the target branch. For pull requests that make major changes, the submitter must provide with the pull request additional documentation to make it easy for others to review:</p> <ul> <li>What the code does (with reference to the associated issue)</li> <li>What changes were made to implement the feature/fix the bug</li> <li>Document of design changes</li> </ul> <p>Each commit is reviewed by another committer who is familiar as well with the area of the product. Any substantive commit to the core is reviewed by Richard Alam, BigBlueButton&#x27;s CTO.</p> <p>If the reviewer of the update believes it will negatively affect stability or usability, the request will be rejected and the developer will need to rework the request based on feedback by the reviewer.</p> <p>Once an update has been committed, it is tested by other developers in the latest build. In that way a build will iterate through development towards beta. The release stays in development until all core development is finished and all obvious bugs have been fixed.</p> <p>Before the beta release, the documentation for installation, setting up of the development environment, and overview of new features are all updated for the release. It&#x27;s ready for others to install and test.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="4-beta-testing">4. Beta Testing<a href="#4-beta-testing" class="hash-link" aria-label="Direct link to 4. Beta Testing" title="Direct link to 4. Beta Testing">​</a></h4> <p>Once a release is moved to beta, the public Ubuntu packages are updated so others in the BigBlueButton community can begin installing and using the build.</p> <p>The product will go through one (or more) betas until the community reports no more major bugs. Additional work that occurs during this phase includes:</p> <ul> <li><a href="/development/localization/">Localization</a> of the product</li> <li>Updating and completing all documentation</li> <li>Updating packaging so it installs without errors, both on a new install and an upgrade from a previous version</li> </ul> <p>We strive to have <em>very</em> stable beta releases. As the release moves through iterations in beta, members of the community will start to run BigBlueButton on production servers. (Yes, some run it for <em>months</em> on production.)</p> <p>When <em>all</em> the bugs are fixed and issues are closed, the product moves to Release Candidate.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="5-release-candidate">5. Release Candidate<a href="#5-release-candidate" class="hash-link" aria-label="Direct link to 5. Release Candidate" title="Direct link to 5. Release Candidate">​</a></h4> <p>For us the release candidate is done -- which means issue a release is changing only the label of the build.</p> <p>We tend to wait for (at least) two weeks of community use before we change the label to release. Again, stability is paramount for reaching a release candidate build.</p> <p>During the stage at release candidate the core committers monitor the mailing lists, twitter, and feedback from members to look for any bugs or issues that would impact the delivery of general release.</p> <p>Many times during the beta and release candidate process we are asked &quot;What is your release date?&quot;. Our motto is “we release on quality, not dates.”</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="6-general-release">6. General Release<a href="#6-general-release" class="hash-link" aria-label="Direct link to 6. General Release" title="Direct link to 6. General Release">​</a></h4> <p>After a (roughly) two week period in which no one has reported any issues for a release candidate, the committers change the label (such as 0.9.0-RC to 0.9.0) and announce the release (see <a href="https://groups.google.com/d/msg/bigbluebutton-dev/TAJ369nPZU4/7DK-TH3JWocJ" target="_blank" rel="noopener noreferrer">release announcement for 0.9</a> and <a href="https://groups.google.com/d/msg/bigbluebutton-dev/8E3AYUcO6Uw/m5r2xgPeBgAJ" target="_blank" rel="noopener noreferrer">release announcement for 1.0</a>).</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="contributing-to-bigbluebutton">Contributing to BigBlueButton<a href="#contributing-to-bigbluebutton" class="hash-link" aria-label="Direct link to Contributing to BigBlueButton" title="Direct link to Contributing to BigBlueButton">​</a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="how-can-i-contribute">How can I contribute<a href="#how-can-i-contribute" class="hash-link" aria-label="Direct link to How can I contribute" title="Direct link to How can I contribute">​</a></h3> <p>BigBlueButton exists because many developers have contributed their time and expertise to its development.</p> <p>At first glance at the underlying architecture, BigBlueButton may seem complex, but it&#x27;s not really once you get to know the system. The BigBlueButton client is written in Javascript. The BigBlueButton server components are written in a combination of Java, Grails, and Scala. You don&#x27;t need to learn all these languages to help out, but you should be very comfortable programming in Java as JavaScript, Grails, and Scala are all similar to Java.</p> <p>Before you can contribute as a developer, you need to invest some time into understanding BigBlueButton&#x27;s <a href="/development/architecture/#architecture-overview">architecture</a>, and you need to setup a <a href="/development/guide/">development environment</a>. The source code for BigBlueButton is hosted at <a href="https://github.com/bigbluebutton/bigbluebutton" target="_blank" rel="noopener noreferrer">github</a>, so you&#x27;ll need to understand <a href="https://git-scm.com/book" target="_blank" rel="noopener noreferrer">how git works</a> and the workflow for distributed software development.</p> <p>Like other open source projects, a good place to start is to try fixing an <a href="https://github.com/bigbluebutton/bigbluebutton/issues" target="_blank" rel="noopener noreferrer">open issue</a>. Some bugs are more important than others. Stability and usability issues are very important to the BigBlueButton community.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="im-not-a-developer-can-i-still-contribute">I&#x27;m not a developer, can I still contribute?<a href="#im-not-a-developer-can-i-still-contribute" class="hash-link" aria-label="Direct link to I&#x27;m not a developer, can I still contribute?" title="Direct link to I&#x27;m not a developer, can I still contribute?">​</a></h3> <p>Don&#x27;t worry if you are not a proficient developer -- there are many ways to help out. You can become proficient in the installation and configuration of a BigBlueButton server. Each month, there are many new users in <a href="https://groups.google.com/forum/#!forum/bigbluebutton-setup" target="_blank" rel="noopener noreferrer">bigbluebutton-setup</a> that need help with setup of BigBlueButton, especially setup behind a <a href="#can-i-provide-external-access-to-a-bigbluebutton-server-behind-my-firewall">firewall</a>. You can <a href="/development/localization/">contribute a language file</a>. You could point out any errors to this documentation. Such assistance reduces the support load on us and gives us more time to work on improving BigBlueButton.</p> <p>Any contribution by external members for inclusion into BigBlueButton will be reviewed by one (or more) of the committers. The process for submission and review depends on the complexity of the contribution and requires that you have signed a Contributor License Agreement.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="why-do-i-need-to-sign-a-contributor-license-agreement-to-contribute-source-code">Why do I need to sign a Contributor License Agreement to contribute source code<a href="#why-do-i-need-to-sign-a-contributor-license-agreement-to-contribute-source-code" class="hash-link" aria-label="Direct link to Why do I need to sign a Contributor License Agreement to contribute source code" title="Direct link to Why do I need to sign a Contributor License Agreement to contribute source code">​</a></h3> <p>Before we can accept contributions to BigBlueButton, we need to ensure there isn&#x27;t any ambiguity on the ownership of material committed to the project. Therefore, everyone wishing to send us a pull request for review must have a signed Contributor License Agreement in place. For background on our reasons for doing this, please see <a href="https://www.oss-watch.ac.uk/resources/cla.xml" target="_blank" rel="noopener noreferrer">https://www.oss-watch.ac.uk/resources/cla.xml</a>.</p> <p>To obtain a committer agreement, download <a href="https://github.com/user-attachments/files/17998921/BigBlueButtonContributorAgreement121006.pdf" target="_blank" rel="noopener noreferrer">BigBlueButton Inc. Contributor Agreement</a>. Except as set out in the agreement, you (and your employer if you have an intellectual property agreement in place) keep all right, title, and interest in your contribution. If you (and your employer) are in agreement with its terms (be sure to use a physical mailing address for the <code>address</code> section to make it legal), then sign, scan, and e-mail a copy to cla <em>at</em> bigbluebutton <em>dot</em> org.</p> <p>Once we receive the signed Contributor Agreement, we can review your submission for inclusion in BigBlueButton. The process for submission depends on whether it&#x27;s fixing a bug (submitting a pull request) or whether it&#x27;s an enhancement (submitting a feature).</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="submission-of-a-pull-request">Submission of a pull request<a href="#submission-of-a-pull-request" class="hash-link" aria-label="Direct link to Submission of a pull request" title="Direct link to Submission of a pull request">​</a></h4> <p>If you want to submit a pull request, your chances of acceptance are <strong>greatly</strong> improved if the following are true:</p> <ol> <li>You are an active participant in <a href="https://groups.google.com/forum/#!forum/bigbluebutton-dev" target="_blank" rel="noopener noreferrer">bigbluebutton-dev</a> and have demonstrated an understanding of the product by helping others and participating in discussions on other patches.</li> <li>Your patch fixes an <a href="https://github.com/bigbluebutton/bigbluebutton/issues" target="_blank" rel="noopener noreferrer">open issue</a>.</li> <li>Before submitting your patch, you have announced your intent to bigbluebutton-dev or commented on the issue itself.</li> <li>You have received positive feedback from a committer on your intent.</li> </ol> <p>The ideal patch submission has all the above true, which essentially means you have built a relationship of trust with other BigBlueButton developers and have been visible on your willingness to contribute your skills to the project.</p> <p>There are a number of <strong>must haves</strong> for your submission to be accepted.</p> <ol> <li>You have forked BigBlueButton on GitHub and submitted the patch as a pull request (this makes it <strong>much</strong> easier for a committer to review and incorporate your patch).</li> <li>You have signed a <a href="/support/faq/#why-do-i-need-to-sign-a-contributor-license-agreement-to-contribute-source-code">committers agreement</a> so there is no ambiguity that your contributions may be released under an open source license.</li> <li>Your submission is LGPL V3 (unless it modifies existing code that is under a different license).</li> </ol> <p>Specifically, for using GitHub, you need to do the following:</p> <ol> <li><a href="https://help.github.com/articles/fork-a-repo" target="_blank" rel="noopener noreferrer">Fork</a> BigBlueButton on <a href="https://www.github.com/bigbluebutton" target="_blank" rel="noopener noreferrer">GitHub</a></li> <li>Create a topic branch - <code>git checkout -b my_branch</code></li> <li>Push to your branch - <code>git push origin my_branch</code></li> <li>Create a <a href="https://help.github.com/articles/using-pull-requests/" target="_blank" rel="noopener noreferrer">Pull Request</a> from your branch</li> </ol> <p>GitHub provides some good <a href="https://help.github.com/" target="_blank" rel="noopener noreferrer">help</a> in the above steps, and there is an excellent <a href="https://git-scm.com/book/en/v2" target="_blank" rel="noopener noreferrer">Pro Git book</a> by Scott Chacon available on-line.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="submission-of-a-feature">Submission of a feature<a href="#submission-of-a-feature" class="hash-link" aria-label="Direct link to Submission of a feature" title="Direct link to Submission of a feature">​</a></h4> <p>Some of the items in our issue tracker are enhancements to the core product. If you are interested in contributing an enhancement, your chances of acceptance are <strong>greatly</strong> improved if the following are true:</p> <ol> <li>You have had previous pull requests accepted by a committer.</li> <li>You have posted a message to bigbluebuton-dev mailing list signaling your willingness to work on the enhancement. In your post, you have provided (at minimum) the following:<!-- --> <ul> <li>An overview of the design and implementation of your feature. For examples see: <a href="https://groups.google.com/forum/#!topic/bigbluebutton-dev/02um_1Pkqnk" target="_blank" rel="noopener noreferrer">Proposal for Preupload of Documents</a></li> <li>An outline of how you intend to test the enhancement.</li> <li>An estimate of how much time you have to work on the enhancement.</li> </ul> </li> <li>A committer has signaled their intent to work closely with you on the enhancement.</li> </ol> <p>Like other open source projects, the participation of a committer is central to the above process as they will take the responsibility for reviewing and signing off on your contribution.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="testing-your-submission">Testing your submission<a href="#testing-your-submission" class="hash-link" aria-label="Direct link to Testing your submission" title="Direct link to Testing your submission">​</a></h4> <p>Depending on the complexity of your patch or feature, it should be accompanied by test cases or, at minimum, a series of steps to test whether the code is functioning properly.</p> <p>We are continuously trying to incorporate more automated testing into the BigBlueButton development process, such as using <a href="https://testng.org/doc/index.html" target="_blank" rel="noopener noreferrer">TestNG</a>.</p> <p>We know that the most important part of any submission is the ability for others to test that it works correctly. Any documentation, sample code, or unit tests that you can provide will greatly reduce the effort of the committer to review your submission.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="coding-conventions">Coding conventions<a href="#coding-conventions" class="hash-link" aria-label="Direct link to Coding conventions" title="Direct link to Coding conventions">​</a></h4> <p>Take a look at the existing code in BigBlueButton and follow it as an example of the project&#x27;s coding and documentation conventions.</p> <p>For code written in Java, we follow the <a href="https://www.oracle.com/technetwork/java/codeconvtoc-136057.html" target="_blank" rel="noopener noreferrer">Java Coding Convention</a> with minor changes. We will be documenting those changes in this wiki.</p> <p>For documentation of code method -- especially those classes that provides an API to other classes -- should be documented using the <a href="https://www.oracle.com/technetwork/java/javase/documentation/index-137868.html" target="_blank" rel="noopener noreferrer">JavaDoc</a> format.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="where-should-i-report-potential-security-issues">Where should I report potential security issues?<a href="#where-should-i-report-potential-security-issues" class="hash-link" aria-label="Direct link to Where should I report potential security issues?" title="Direct link to Where should I report potential security issues?">​</a></h3> <p>If you think you&#x27;ve found a security issue with BigBlueButton, we ask that you do a <a href="https://en.wikipedia.org/wiki/Responsible_disclosure" target="_blank" rel="noopener noreferrer">responsible disclosure</a> and e-mail us directly at security .at. bigbluebutton .dot. org.</p> <p>We will respond to you quickly, work with you to examine the scope of the issue, and give priority to fixing it as soon as possible.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="installation">Installation<a href="#installation" class="hash-link" aria-label="Direct link to Installation" title="Direct link to Installation">​</a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-the-minimum-hardware-requirements-for-the-bigbluebutton-server">What are the minimum hardware requirements for the BigBlueButton Server<a href="#what-are-the-minimum-hardware-requirements-for-the-bigbluebutton-server" class="hash-link" aria-label="Direct link to What are the minimum hardware requirements for the BigBlueButton Server" title="Direct link to What are the minimum hardware requirements for the BigBlueButton Server">​</a></h3> <p>See <a href="/administration/install/#before-you-install">before you install</a>.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-the-minimum-bandwidth-requirements-for-the-bigbluebutton-server">What are the minimum bandwidth requirements for the BigBlueButton Server<a href="#what-are-the-minimum-bandwidth-requirements-for-the-bigbluebutton-server" class="hash-link" aria-label="Direct link to What are the minimum bandwidth requirements for the BigBlueButton Server" title="Direct link to What are the minimum bandwidth requirements for the BigBlueButton Server">​</a></h3> <p>You&#x27;ll need good upstream and downstream bandwidth from the server. We recommend 1 Gbits/sec bandwidth in both directions. Having a server with less bandwidth, such as only 100 Mbits/sec, will only lead to audio and video issues with users.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="can-i-install-bigbluebutton-on-a-shared-hosting-server-such-as-godaddy">Can I install BigBlueButton on a shared hosting server, such as GoDaddy<a href="#can-i-install-bigbluebutton-on-a-shared-hosting-server-such-as-godaddy" class="hash-link" aria-label="Direct link to Can I install BigBlueButton on a shared hosting server, such as GoDaddy" title="Direct link to Can I install BigBlueButton on a shared hosting server, such as GoDaddy">​</a></h3> <p>Likely not. First, you need root access to install BigBlueButton. If you have a hosting account that only gives you, for example, FTP access and a cPanel/plesk interface, you will not be able to install BigBlueButton.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="can-i-install-bigbluebutton-on-ec2">Can I install BigBlueButton on EC2<a href="#can-i-install-bigbluebutton-on-ec2" class="hash-link" aria-label="Direct link to Can I install BigBlueButton on EC2" title="Direct link to Can I install BigBlueButton on EC2">​</a></h3> <p>Yes. The steps are covered in the <a href="/administration/install/">install</a> documentation.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="os-requirements">OS Requirements<a href="#os-requirements" class="hash-link" aria-label="Direct link to OS Requirements" title="Direct link to OS Requirements">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="ubuntu">Ubuntu<a href="#ubuntu" class="hash-link" aria-label="Direct link to Ubuntu" title="Direct link to Ubuntu">​</a></h4> <p>Older versions of BigBlueButton, up to and including version 2.4, required <strong>Ubuntu 18.04 64-bit</strong>. BigBlueButton 2.5, 2.6, 2.7 require <strong>Ubuntu 20.04 64-bit</strong>. See <a href="/administration/install/">Install BigBlueButton</a>.</p> <p>We (the core developers) have not installed BigBlueButton on any other version of Ubuntu. It probably won&#x27;t work.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="centos">CentOS<a href="#centos" class="hash-link" aria-label="Direct link to CentOS" title="Direct link to CentOS">​</a></h4> <p>There is no support for CentOS.</p> <p>We do have experience with CentOS. In April, 2010, we released <a href="/release-notes/#release-0.64:-lickety-split">BigBlueButton 0.64</a> with RPM packages for CentOS 5.4. However, based on our experience of developing, building, and testing both Ubuntu and CentOS packages, we stopped supporting RPM packages after that release.</p> <p>Why?</p> <p>In a nutshell: quality. We found it very difficult to test and maintain packaging for both RPM based systems (primarily CentOS) and Ubuntu. Rather than try to maintain them both and have them &quot;kind of&quot; work, which leads to many, many posts in our forums when users encounter difficulties with an install, we decided to invest heavily in testing and maintaining the Ubuntu packages. They are now very solid and well tested.</p> <p>If you <strong>really</strong> want support for CentOS, you can contact one of the following companies for <a href="https://bigbluebutton.org/commercial-support" target="_blank" rel="noopener noreferrer">commercial support</a>. Any financial contribution you make for updating and maintaining the CentOS packages will directly benefit other CentOS users in the community.</p> <p>You can see further discussion on the support for CentOS in <a href="https://github.com/bigbluebutton/bigbluebutton/issues/1379" target="_blank" rel="noopener noreferrer">issue 1379</a>. (Update: We are getting increasing interest in RPMs for BigBlueButton. We may be updating this section in the future.)</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="windows">Windows<a href="#windows" class="hash-link" aria-label="Direct link to Windows" title="Direct link to Windows">​</a></h4> <p>While technically it should be possible to manually install each of components (tomcat, nginx, LibreOffice, etc.) needed to run BigBlueButton on Windows, we haven&#x27;t tried it, nor have we tested it.</p> <p>If you are a brave soul and want to take a BigBlueButton server and manually install the equivalent components (and configuration files) onto a Windows server, it should technically be possible. However, beware, no one who has tried this has lived to post a success message to our mailing list :-).</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="os-x">OS X<a href="#os-x" class="hash-link" aria-label="Direct link to OS X" title="Direct link to OS X">​</a></h4> <p>There is no native installation for Mac OS X.</p> <p>The easiest way to get your own BigBlueButton server under OS X is to install VMWare Fusion, create a Ubuntu 64-bit VM, and install BigBlueButton using the <a href="/administration/install/">installation instructions</a>.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="support-for-mobile-devices">Support for Mobile Devices<a href="#support-for-mobile-devices" class="hash-link" aria-label="Direct link to Support for Mobile Devices" title="Direct link to Support for Mobile Devices">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="android">Android<a href="#android" class="hash-link" aria-label="Direct link to Android" title="Direct link to Android">​</a></h4> <p>BigBlueButton runs within the default Chrome browser (no app to install) on Android 6.0+. You can test this at <a href="https://demo.bigbluebutton.org/" target="_blank" rel="noopener noreferrer">https://demo.bigbluebutton.org/</a>.</p> <p>All the features of BigBlueButton are available on Android except screen sharing (Chrome does not support screen sharing on Android).</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="ios">iOS<a href="#ios" class="hash-link" aria-label="Direct link to iOS" title="Direct link to iOS">​</a></h4> <p>BigBlueButton runs within the default Safari Mobile browser (no app to install) on iOS 12.2+. You can test this at <a href="https://demo.bigbluebutton.org/" target="_blank" rel="noopener noreferrer">https://demo.bigbluebutton.org/</a>.</p> <p>All the features of BigBlueButton are available on iOS except screen sharing (Safari Mobile does not support screen sharing on iOS).</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="bandwidth-requirements">Bandwidth Requirements<a href="#bandwidth-requirements" class="hash-link" aria-label="Direct link to Bandwidth Requirements" title="Direct link to Bandwidth Requirements">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-the-bandwidth-requirements-for-running-a-bigbluebutton-server">What are the bandwidth requirements for running a BigBlueButton server<a href="#what-are-the-bandwidth-requirements-for-running-a-bigbluebutton-server" class="hash-link" aria-label="Direct link to What are the bandwidth requirements for running a BigBlueButton server" title="Direct link to What are the bandwidth requirements for running a BigBlueButton server">​</a></h4> <p>You&#x27;ll need good upstream and downstream bandwidth from the server. We recommend 1 Gbits/second bandwidth in both directions.</p> <p>When sharing a webcam as a moderator, BigBlueButton lets you select 320x240, 640x480, or 1280x720. For bandwidth calculations, each resolution corresponds (roughly) to a .25 Mbits/sec, 0.40 Mbits/sec, and 0.60 Mbits/sec video stream respectively.</p> <p>For example, if you have a room with 5 users, each sharing their webcam at 320x240, then you can calculate the bandwidth usage as follows:</p> <ul> <li>Y = .25 Mbits/sec</li> <li>W = amount of webcams that are streaming</li> <li>U = amount of users that are watching</li> </ul> <p>For calculations:</p> <ul> <li>server incoming bandwidth: W<code>*</code>Y</li> <li>server outgoing bandwidth: W<code>*</code>(U-1)<code>*</code>Y (minus one since a broadcaster does not have to subscribe to his own stream)</li> </ul> <p>For example, with 5 users in a room with 5 webcams streaming, the bandwidth calculation is as follows:</p> <ul> <li>in: 5<code>*</code>.25 = 1.25 Mbits/sec incoming bandwidth needed to the server, or 3600<code>*</code>1.25 = 4.5 GBits/hr</li> <li>out: 5<code>*</code>(5-1)<code>*</code>.25 = 5 Mbits/sec outgoing bandwidth needed from the server, or 3600<code>*</code>5 = 18 Gbits/hr</li> </ul> <p>If you&#x27;d have a typical classroom situation one presenter broadcasting their webcam to 30 remote students, the calculation is as follows:</p> <ul> <li>in: 1<code>*</code>.25 = .25 Mbits/sec incoming, or 3600<code>*</code>.25 = 0.9 GBits/hr</li> <li>out: 1<code>*</code>(30-1)<code>*</code>.25 = 7.25 Mbits/sec outgoing, or 3600<code>*</code>7.25 = 26.1 GBits/hr</li> </ul> <p>Large &quot;cafe-style chatroom&quot;: 20 viewers, 8 people broadcasting with a webcam:</p> <ul> <li>in: 8<code>*</code>.25 = 2 Mbits/sec incoming, or 3600<code>*</code>2 = 7.2 GBits/hr</li> <li>out: 8<code>*</code>(20-1)<code>*</code>.25 = 38 Mbits/sec outgoing, or 3600<code>*</code> = 136.8 Gbits/hr</li> </ul> <p>Sharing slides takes almost no bandwidth beyond the initial uploading/downloading of slides. When the presenter clicks to show the next slide, the viewers receive a &quot;move next slide&quot; command in their BigBlueButton client, and they load the next slide from the local cache. Chat also takes almost no bandwidth.</p> <p>Screen sharing sharing takes the most bandwidth. The actual bandwidth for desktop sharing depends on the size of the area chosen by the presenter (full screen and region) and how often their screen updates. At the low end, if the presenter&#x27;s screen is largely idle, the screen sharing application will transmit about 0.2 Mbits/sec; at the high end, if the presenter&#x27;s screen is updating frequently, the BigBlueButton server could transmit 1.0 Mbits/sec. For a session with N users, BigBlueButton server would also transmit N desktop sharing streams (the presenter gets a stream as well for their Screen Sharing Preview window).</p> <p>A VoIP connection to the BigBlueButton server takes roughly 0.04 Mbits/sec receiving and 0.04 Mbits/sec transmitting for each user. The bandwidth for VoIP grows linearly with number of users. For example, if there are 20 students in a classroom, then the bandwidth requirements for the server to support VoIP is 20 <code>*</code> 0.04 Mbits/sec = 0.8 Mbits/sec. If the user joins as Listen Only, they only receive audio (not transmit it).</p> <p>From the perspective of the user&#x27;s bandwidth needs, if a student is broadcasting their webcam and microphone they require a minimum (roughly) 0.3 Mbits/sec (.25 + .04) upstream bandwidth. If the student is in a session with four other people that are all broadcasting their webcams as well, the student will require the roughly 1 Mbits/sec incoming bandwidth for the 4 <code>*</code>0.25 = 1 Mbits/sec incoming webcams and 0.04 Mbits/sec for the incoming audio.</p> <p>The BigBlueButton server will lower the bandwidth to a user if their bandwidth is insufficient to receive all stream. For example, in the scenario above where there are 5 students in a session, each sharing a webcam, if 4 students have sufficient bandwidth to receive all incoming webcam streams, their clients will show roughly the same quality of video. If one of the students is on a lower bandwidth, then they will get less frequent updates on the video streams and may get lower quality of audio. The user who is on lower bandwidth does not affect the streaming to other users.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-the-minimum-bandwidth-requirements-for-a-user">What are the minimum bandwidth requirements for a user<a href="#what-are-the-minimum-bandwidth-requirements-for-a-user" class="hash-link" aria-label="Direct link to What are the minimum bandwidth requirements for a user" title="Direct link to What are the minimum bandwidth requirements for a user">​</a></h4> <p>For viewers (students), we recommend users have (at least) 0.5 Mbits/sec -- which is 500 Kbits/sec -- upstream bandwidth, and (at least) 1 Mbits/sec download bandwidth. The upstream bandwidth is the amount of bandwidth their computer has available to transmit data to the BigBlueButton server.</p> <p>These are not hard and fast numbers, as it depends on the activity of the viewer. If the viewer is not broadcasting any webcam, the amount of upstream bandwidth used would be less than 0.5 Mbits/sec.</p> <p>A good way for users to check their bandwidth is to visit <a href="https://speedtest.net/" target="_blank" rel="noopener noreferrer">speedtest.net</a>. The results from speedtest.net give the user&#x27;s <em>actual</em> bandwidth. This actual number is important because a user may report that their ISP provides them 0.5 Mbits/sec upstream bandwidth; however, speedtest.net may report an actual number that is much lower. The difference may be throttling by the ISP and background activity on their computer (such as background downloads, file sharing clients, etc).</p> <p>For presenters, we recommend as much upstream bandwidth as possible. For example, if the presenter shares their desktop, then BigBlueButton&#x27;s desktop sharing will attempt to publish their desktop updates as quickly as possible to the server.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="is-wired-connection-better-than-wireless">Is wired connection better than wireless<a href="#is-wired-connection-better-than-wireless" class="hash-link" aria-label="Direct link to Is wired connection better than wireless" title="Direct link to Is wired connection better than wireless">​</a></h4> <p>Yes. A user may have very good experience with wireless internet, but if others hear their audio as broken or choppy, that user can either move closer to the wireless base station, try a different wireless network, or (best) connect directly to a wired connection.</p> <p>Using public WiFi is not always best. It may be OK for surfing the web, but the latency and packet loss might be insufficient for real-time transmission of audio or video.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-the-minimum-requirements-for-the-bigbluebutton-client">What are the minimum requirements for the BigBlueButton client<a href="#what-are-the-minimum-requirements-for-the-bigbluebutton-client" class="hash-link" aria-label="Direct link to What are the minimum requirements for the BigBlueButton client" title="Direct link to What are the minimum requirements for the BigBlueButton client">​</a></h3> <p>For bandwidth, we recommend 1Mbits download and 0.5 Mbits upload speed. Users can test their actual bandwidth using <a href="https://speedtest.net/" target="_blank" rel="noopener noreferrer">speedtest.net</a>.</p> <p>For hardware, we recommend a dual-core CPU with at least 2G of memory. We recommend any operating system capable of running the latest versions of Google Chrome and Mozilla FireFox.</p> <p>For browser, we recommend running either FireFox, Chrome, or the latest Edge (which is based on Chromium). Why? These browsers provide excellent support for web real-time communications (WebRTC). On Mac OS X, the latest Safari will work as well, but FireFox and Chrome will deliver better audio in lower bandwidth conditions.</p> <p>In short, if the user is having any problems (such as audio is garbled or they are periodically getting disconnected), we recommend trying either FireFox or Chrome. If the problems persist, it&#x27;s likely an issue with their network. BigBlueButton will give them notifications to help troubleshoot.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="how-many-simultaneous-users-can-bigbluebutton-support">How many simultaneous users can BigBlueButton support<a href="#how-many-simultaneous-users-can-bigbluebutton-support" class="hash-link" aria-label="Direct link to How many simultaneous users can BigBlueButton support" title="Direct link to How many simultaneous users can BigBlueButton support">​</a></h3> <p>As a rule of thumb, if your BigBlueButton server meets the <a href="/administration/install/#minimum-server-requirements">minimum requirements</a>, the server should be able to support 200 simultaneous users, such as 3 simultaneous sessions of 50 users, 6 x 25, etc. More concurrent users can be supported by using better servers and/or by using <a href="https://github.com/blindsidenetworks/scalelite#scalelite" target="_blank" rel="noopener noreferrer">load balancers</a> for clusters of BigBlueButton servers.</p> <p>As of BigBlueButton 2.5, we recommend no single sessions two-hundred (200) users.</p> <p>Members of our community periodically host stress tests for BigBlueButton, which gives others a data point on what a particular server was able to handle. Take any stress test with a grain of salt. There are many variables at play:</p> <ul> <li>Server: CPU memory, disk space, and bandwidth</li> <li>Usage scenarios (# of webcams and use of desktop sharing)</li> <li>Upstream bandwidth from clients</li> <li>Configuration of BigBlueButton</li> <li>Version of BigBlueButton</li> </ul> <p>The scalability of a BigBlueButton session also depends on what media users are sharing in a session. If you have a session with 20 users and all sharing their webcam, this scenario will generate 400 streams (20 incoming streams to the server and 380 outgoing streams). Alternatively, if in the same session there is only one person (the instructor) sharing their webcam, there will be 20 streams (1 incoming and 19 outgoing).</p> <p>If you have a session with 20 users and all share their microphones, there will be 20 two-way audio stream being mixed by in real-time by FreeSWITCH. Alternatively, if only one user (the instructor) shares their microphone and 19 join Listen Only, then there is only one stream mixed by FreeSWITCH (less CPU), and 19 one way streams shared to the user.</p> <p>If you are unsure of how many users your server will support, we <strong>strongly</strong> recommend you first stress test your own server with a group of users to get real-world data.</p> <p>To test your own server, have five people login and have each open multiple browser tabs, each tab logging into BigBlueButton and joining the audio conference. With 5 friends, you can simulate 10, 20, 30, etc. users. You&#x27;ll find once the CPU reaches 80%, the audio starts to degrade. When the audio starts to degrade, you&#x27;ve found the maximum number of users for your server.</p> <p>For monitoring the server, please take a look at the <a href="/administration/monitoring/">monitoring section</a> or use other generic monitoring <a href="https://www.ubuntugeek.com/bandwidth-monitoring-tools-for-ubuntu-users.html" target="_blank" rel="noopener noreferrer">tools</a> for Ubuntu Linux.</p> <p>Additionally, you can see <a href="https://bigbluebutton.org/commercial-support/" target="_blank" rel="noopener noreferrer">commercial support</a> for help in stress testing your server.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="where-is-the-admin-interface-for-bigbluebutton">Where is the admin interface for BigBlueButton<a href="#where-is-the-admin-interface-for-bigbluebutton" class="hash-link" aria-label="Direct link to Where is the admin interface for BigBlueButton" title="Direct link to Where is the admin interface for BigBlueButton">​</a></h3> <p>Since BigBlueButton is controlled by its <a href="/development/api/">API</a>, there isn&#x27;t an administrative panel for BigBlueButton. Most of the server maintenance functions are handled by <a href="/administration/bbb-conf/">bbb-conf</a>.</p> <p>The most common way to use BigBlueButton is to use an existing application that has a plugin. See <a href="https://bigbluebutton.org/schools/integrations/" target="_blank" rel="noopener noreferrer">list of integrations</a>.</p> <p>BigBlueButton also comes with an easy-to-use front-end called <a href="/greenlight/v3/install/">Greenlight</a>.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="where-do-i-schedule-a-meeting-in-bigbluebutton">Where do I schedule a meeting in BigBlueButton?<a href="#where-do-i-schedule-a-meeting-in-bigbluebutton" class="hash-link" aria-label="Direct link to Where do I schedule a meeting in BigBlueButton?" title="Direct link to Where do I schedule a meeting in BigBlueButton?">​</a></h3> <p>There is no meeting database or user database in BigBlueButton. All this business logic is handled by the front-end.</p> <p>BigBlueButton does not know anything about a meeting until a front-end (such as Moodle) calls the &#x27;create&#x27; API to create a meeting. At that point BigBlueButton has a meeting in memory, but no users yet. If no users join within a few minutes, BigBlueButton will automatically clear the meeting from memory.</p> <p>Usually, the front-end joins users into the meeting by redirecting users (who presumably clicked on a join button in the front-end) to a valid &#x27;join&#x27; API call on the BigBlueButton server. The BigBlueButton server validates the join URL (it has a proper checksum and the meeting is active).</p> <p>After the meeting is finished (all users leave, the meeting duration is reached, or a moderator has ended the meeting), BigBlueButton creates the recording (if requested) and clears the meeting from memory.</p> <p>For handling meetings and users, BigBlueButton is stateless. It is helpful to think of BigBlueButton like a web server. You don&#x27;t ask the web server &quot;can I schedule the download of a file tomorrow at 2:00 PM&quot;. Instead, you just request the file when needed. The web server processes the request, forgets about it (after logging it), and proceeds to the next request.</p> <p>This stateless nature of BigBlueButton keeps the architecture simple and makes it easier for you to upgrade your server. You can upgrade or even replace your existing BigBlueButton server without breaking any front-end. For example, you could back-up your recordings, replace your BigBlueButton server with a new server, restore the recordings, assign the server the same hostname and shared secret, and the front-end would not be able to tell the difference.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="networking">Networking<a href="#networking" class="hash-link" aria-label="Direct link to Networking" title="Direct link to Networking">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-i-change-the-hostname-of-my-bigbluebutton-server">How do I change the hostname of my BigBlueButton server<a href="#how-do-i-change-the-hostname-of-my-bigbluebutton-server" class="hash-link" aria-label="Direct link to How do I change the hostname of my BigBlueButton server" title="Direct link to How do I change the hostname of my BigBlueButton server">​</a></h4> <p>If you change the hostname (or IP address) of your BigBlueButton server, you can easily change all the related BigBlueButton configuration files using the <a href="/administration/bbb-conf/">bbb-conf tool</a>.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="we-recommend-running-bigbluebutton-on-port-80443">We recommend running BigBlueButton on port 80/443<a href="#we-recommend-running-bigbluebutton-on-port-80443" class="hash-link" aria-label="Direct link to We recommend running BigBlueButton on port 80/443" title="Direct link to We recommend running BigBlueButton on port 80/443">​</a></h4> <p>We recommend running BigBlueButton on port 80/443 -- specifically, having the nginx server in a BigBlueButton server bind to port 80/443. In other words, we recommend against running BigBlueButton on port 8081, 8088 or another port.</p> <p>Prior to 0.8, <code>bbb-conf</code> would let you configure BigBlueButton to run on a different port, but that lead to a number of problems that are not immediately obvious:</p> <ol> <li>Port conflicts with existing applications</li> <li>Resource contention with existing applications</li> </ol> <p>To an experienced system administrator, the above problems are not insurmountable, but most people setting up BigBlueButton are not experienced system administrators. Therefore, changing the port results in clients being unable to connect, BigBlueButton doesn&#x27;t load, and/or performance is less than expected (because of resource contention).</p> <p>Sometimes these problems do not manifest themselves immediately. In the past, we&#x27;ve had people posting to our forums describing how their BigBlueButton server occasionally has problems or does not let users connect. In some cases, after a lengthy exchange of posts/e-mails back and forth, they would grant us temporary remote access to their server to try and figure out the error in BigBlueButton. Only then would we discover the server is running multiple web applications that are conflicting with BigBlueButton&#x27;s configuration, significantly reducing the resources available to BigBlueButton or both. In these cases, there was no error with BigBlueButton, but in the configuration.</p> <p>We understand that administrators want to run multiple applications on a single server. This makes sense when you are running multiple web-based applications. If a web application returns a web page in 350 milliseconds instead of 250 milliseconds due to resource contention, the perceptual difference to the user is minimal. At worst, the user will think your web application is a little slow, but it still works.</p> <p>However, BigBlueButton is a real-time application processing voice and video. The human ear is very attuned to delays in audio. If BigBlueButton is returning audio packets later than normal or the audio becomes garbled because the CPU is unable to process the audio packets quickly enough due to resource contention, a delay in audio is much more perceptible to a user than a delay in loading a web page.</p> <p>For the above reasons, we recommend you setup BigBlueButton on a dedicated server listening to port 80/443. We also recommend you not run any other applications (such as plesk) on the same server.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="what-ports-must-be-open-for-external-users-to-connect-to-bigbluebutton">What ports must be open for external users to connect to BigBlueButton<a href="#what-ports-must-be-open-for-external-users-to-connect-to-bigbluebutton" class="hash-link" aria-label="Direct link to What ports must be open for external users to connect to BigBlueButton" title="Direct link to What ports must be open for external users to connect to BigBlueButton">​</a></h4> <p>For TCP ports, clients must be able to connect to the BigBlueButton server on port 80/443 (HTTP/HTTPS).</p> <p>For UDP ports, clients must be able to connect on a port within the range 16384-32767 for WebRTC-based audio.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="does-bigbluebutton-support-tunneling">Does BigBlueButton support tunneling<a href="#does-bigbluebutton-support-tunneling" class="hash-link" aria-label="Direct link to Does BigBlueButton support tunneling" title="Direct link to Does BigBlueButton support tunneling">​</a></h4> <p>Yes. See <a href="/administration/install/#configure-the-firewall-if-required">Configure the firewall</a>.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="does-bigbluebutton-provide-secure-collaboration">Does BigBlueButton provide secure collaboration?<a href="#does-bigbluebutton-provide-secure-collaboration" class="hash-link" aria-label="Direct link to Does BigBlueButton provide secure collaboration?" title="Direct link to Does BigBlueButton provide secure collaboration?">​</a></h4> <p>There are multiple security mechanisms in BigBlueButton.</p> <p>When the BigBlueButton server is secured with an transport level security (TLS) certificate, all content download from the server to the user&#x27;s browser occurs via hypertext transport protocol secure (HTTPS). We provide an installation script for BigBlueButton that can automate the setup of the TLS certificate (see <a href="https://github.com/bigbluebutton/bbb-install" target="_blank" rel="noopener noreferrer">bbb-install.sh</a>).</p> <p>When a front-end makes an API request to BigBlueButton, the BigBlueButton server validates the incoming server checksum computed from a shared secret (see <a href="/development/api/#api-security-model">API Security Model</a>). If the checksum match fails, the request is ignored.</p> <p>When the BigBlueButton client loads, it makes data connections back to the BigBlueButton server using a web socket connection encrypted HTTPS. When the BigBlueButton shares the user&#x27;s audio, video, or screen, the browser uses the built-in web real-time communication (WebRTC) libraries that transmit real-time protocol packets (RTP) over user datagram protocol (UDP) via Datagram Transport Layer Security (see <a href="https://en.wikipedia.org/wiki/Datagram_Transport_Layer_Security" target="_blank" rel="noopener noreferrer">DTLS</a>). Furthermore, to provide communications privacy for datagram protocols the media packets are encrypted using the Secure Real-Time Protocol (see <a href="https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol" target="_blank" rel="noopener noreferrer">SRTP</a>).</p> <p>As described above, by saying there are <em>multiple</em> security mechanisms BigBlueButton, does this mean BigBlueButton offers secure collaboration? No. No system is really secure, there are only levels of security. We care about security in the BigBlueButton project, and if you detect any security vunerabilities in the project, you can make a responsible disclosure by emailing us at <a href="mailto:security@bigbluebutton.org" target="_blank" rel="noopener noreferrer">security@bigbluebutton.org</a>.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="front-ends">Front Ends<a href="#front-ends" class="hash-link" aria-label="Direct link to Front Ends" title="Direct link to Front Ends">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="does-bigbluebutton-come-with-a-front-end">Does BigBlueButton come with a front end?<a href="#does-bigbluebutton-come-with-a-front-end" class="hash-link" aria-label="Direct link to Does BigBlueButton come with a front end?" title="Direct link to Does BigBlueButton come with a front end?">​</a></h4> <p><img decoding="async" loading="lazy" alt="greenlight-start" src="/assets/images/gl-start-1ae393e870d2df355332cc6fa8169841.png" width="1271" height="537" class="img_ev3q"></p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="can-i-run-multiple-virtual-classrooms-in-a-single-bigbluebutton-server">Can I run multiple virtual classrooms in a single BigBlueButton server<a href="#can-i-run-multiple-virtual-classrooms-in-a-single-bigbluebutton-server" class="hash-link" aria-label="Direct link to Can I run multiple virtual classrooms in a single BigBlueButton server" title="Direct link to Can I run multiple virtual classrooms in a single BigBlueButton server">​</a></h4> <p>Absolutely. To see an example of this, check out <a href="https://demo.bigbluebutton.org/gl" target="_blank" rel="noopener noreferrer">GreenLight on our pool of demo servers</a>. You can start numerous different rooms and they will be spread over the pool of servers but some of them will be on the same server. If the pool only had one server, all of your virtual classrooms would be on the same server.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-i-setup-new-classrooms-in-bigbluebutton">How do I setup new classrooms in BigBlueButton<a href="#how-do-i-setup-new-classrooms-in-bigbluebutton" class="hash-link" aria-label="Direct link to How do I setup new classrooms in BigBlueButton" title="Direct link to How do I setup new classrooms in BigBlueButton">​</a></h4> <p>If you are using Sakai, Moodle, Drupal, Joomla, Wordpress or other systems that already have a <a href="https://bigbluebutton.org/schools/integrations/" target="_blank" rel="noopener noreferrer">BigBlueButton integration</a>, then installing the integration provides the easiest way to enable your users to access BigBlueButton sessions.</p> <p>Alternatively, you can set up <a href="/greenlight/v3/install/">Greenlight</a> to be able to easily manage classrooms.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-i-integrate-bigbluebutton-with-my-own-server">How do I integrate BigBlueButton with my own server<a href="#how-do-i-integrate-bigbluebutton-with-my-own-server" class="hash-link" aria-label="Direct link to How do I integrate BigBlueButton with my own server" title="Direct link to How do I integrate BigBlueButton with my own server">​</a></h4> <p>BigBlueButton provides an <a href="/development/api/">API</a> for integration with other web-based applications.</p> <p>The best approach is to see how others have integrated and adapt their code to your integration. Don&#x27;t you just love open source!</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="server-configuration">Server Configuration<a href="#server-configuration" class="hash-link" aria-label="Direct link to Server Configuration" title="Direct link to Server Configuration">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="does-bigbluebutton-offer-permanent-sessions">Does BigBlueButton offer permanent sessions<a href="#does-bigbluebutton-offer-permanent-sessions" class="hash-link" aria-label="Direct link to Does BigBlueButton offer permanent sessions" title="Direct link to Does BigBlueButton offer permanent sessions">​</a></h4> <p>The BigBlueButton server does not support persistent or permanent sessions where users can leave and return the next day, for example, and have their slides and chat messages persist.</p> <p>This is by design. Why is this the case? This design makes it easy for system administrators to upgrade or replace a BigBlueButton server without migrating/updating any database. As an analogy, the BigBlueButton server works like a web server. When loading content from a web server, you don&#x27;t tell a web server &quot;I need to load a file at 2:00 PM tomorrow&quot;; rather, you just load a file when needed. The web server responds to the request and, when finished, it forgets about the request and moves onto the next.</p> <p>It&#x27;s similar with the BigBlueButton server. The lifespan of a session on the BigBlueButton server begins when a front-end sends a <code>create</code> API request to the BigBlueButton server. Once a room is created (the <code>create</code> request succeeded), users can join the session and interact within the session. The session ends (and is cleared from the server&#x27;s memory) when the last person leaves.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="using-bigbluebutton">Using BigBlueButton<a href="#using-bigbluebutton" class="hash-link" aria-label="Direct link to Using BigBlueButton" title="Direct link to Using BigBlueButton">​</a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="accessibility">Accessibility<a href="#accessibility" class="hash-link" aria-label="Direct link to Accessibility" title="Direct link to Accessibility">​</a></h3> <p>We designed BigBlueButton to be accessible to users with visual and/or audible disabilities.</p> <p>BigBlueButton supports both JAWS and NVDA screen readers. When using a screen reader, we recommend using Internet Explorer or the 32-bit version of FireFox. The 64-bit versions of FireFox and Chrome make it harder for screen readers to interact with the BigBlueButton client.</p> <p>BigBlueButton supports <a href="https://www.youtube.com/watch?time_continue=1&amp;v=feC_zm1y3N4" target="_blank" rel="noopener noreferrer">live closed captioning</a>. A stenographer can join the session and provide a live caption stream to all users (you can have multiple stenographers simultaneously providing captioning in multiple languages). Later on, when BigBlueButton processes the recording, it will convert the closed captions to subtitles in the playback.</p> <p>For a full statement on our accessibility see <a href="https://bigbluebutton.org/accessibility/" target="_blank" rel="noopener noreferrer">https://bigbluebutton.org/accessibility/</a>.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="screen-sharing">Screen Sharing<a href="#screen-sharing" class="hash-link" aria-label="Direct link to Screen Sharing" title="Direct link to Screen Sharing">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-needed-to-run-desktop-sharing">What is needed to run desktop sharing<a href="#what-is-needed-to-run-desktop-sharing" class="hash-link" aria-label="Direct link to What is needed to run desktop sharing" title="Direct link to What is needed to run desktop sharing">​</a></h4> <p>BigBlueButton using WebRTC for sharing audio, video, and screen. You should be able to share your screen using Chrome, FireFox, and the newest version of Edge (based on Chromium). You don&#x27;t need to install any plugin or download any additional binary to share your screen.</p> <p>At the time of this writing, you can view the presenter&#x27;s screen on mobile devices, but not share the mobile screen.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="can-i-share-a-specific-window-when-sharing-my-desktop">Can I share a specific window when sharing my desktop<a href="#can-i-share-a-specific-window-when-sharing-my-desktop" class="hash-link" aria-label="Direct link to Can I share a specific window when sharing my desktop" title="Direct link to Can I share a specific window when sharing my desktop">​</a></h4> <p>While you can&#x27;t choose a specific window, on Windows you can share a specific region of your desktop and place the window within that region.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="presentations">Presentations<a href="#presentations" class="hash-link" aria-label="Direct link to Presentations" title="Direct link to Presentations">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="can-i-upload-microsoft-office-documents-to-bigbluebutton">Can I upload Microsoft Office documents to BigBlueButton<a href="#can-i-upload-microsoft-office-documents-to-bigbluebutton" class="hash-link" aria-label="Direct link to Can I upload Microsoft Office documents to BigBlueButton" title="Direct link to Can I upload Microsoft Office documents to BigBlueButton">​</a></h4> <p>Yes. BigBlueButton uses LibreOffice 4.3 for converting Microsoft Office documents into PDF for display in BigBlueButton.</p> <p>If possible, for best results, save your Word or PowerPoint document as PDF. If you are using Office 2007, we recommend using Microsoft&#x27;s free download to enable Office 2007 to save any document to PDF: <a href="https://www.microsoft.com/downloads/details.aspx?FamilyID=4d951911-3e7e-4ae6-b059-a2e79ed87041&amp;displaylang=en" target="_blank" rel="noopener noreferrer">download link</a>.</p> <p>You&#x27;ll always get the best results with PDF.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="will-my-animations-and-videos-in-powerpoint-convert-when-uploaded">Will my animations and videos in PowerPoint convert when uploaded<a href="#will-my-animations-and-videos-in-powerpoint-convert-when-uploaded" class="hash-link" aria-label="Direct link to Will my animations and videos in PowerPoint convert when uploaded" title="Direct link to Will my animations and videos in PowerPoint convert when uploaded">​</a></h4> <p>When you upload a PowerPoint document, BigBlueButton will convert it to PDF (using LibreOffice) and then finally to scalable vector graphics (SVG) for display within the client.</p> <p>The conversion to PDF will remove any animations (visual or audio), links, and embedded content. At the end of the conversion, you&#x27;ll see the final slide within BigBlueButton.</p> <p>As the presenter, if you want to share a YouTube or Vimeo video, use the built-in <code>Share an external video</code> feature (Select the &#x27;+&#x27; button to see this option).</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="i-uploaded-a-document-but-some-fonts-are-missing-after-conversion">I uploaded a document but some fonts are missing after conversion<a href="#i-uploaded-a-document-but-some-fonts-are-missing-after-conversion" class="hash-link" aria-label="Direct link to I uploaded a document but some fonts are missing after conversion" title="Direct link to I uploaded a document but some fonts are missing after conversion">​</a></h4> <p>If you upload a PDF document, all your fonts will come through with the document. In other words, for best results, if possible always create a PDF and upload it for conversion.</p> <p>If you upload a Word or Power Point document that has special fonts, such as Chinese language, the document must first be converted by LibreOffice into PDF. Unless you&#x27;ve configured the LibreOffice server running within BigBlueButton to have the necessary fonts, then you will see empty spaces (or boxes) for the missing fonts.</p> <p>To add Japanese fonts, enter the following commands on the BigBlueButton server.</p> <div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">$ sudo apt-get install libreoffice-l10n-ja</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">$ sudo apt-get install fonts-ipaexfont</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">$ sudo bbb-conf --restart</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="does-bigbluebutton-support-multi-user-whiteboard">Does BigBlueButton support multi-user whiteboard<a href="#does-bigbluebutton-support-multi-user-whiteboard" class="hash-link" aria-label="Direct link to Does BigBlueButton support multi-user whiteboard" title="Direct link to Does BigBlueButton support multi-user whiteboard">​</a></h4> <p>Yes.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="video">Video<a href="#video" class="hash-link" aria-label="Direct link to Video" title="Direct link to Video">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="im-on-ubuntu-and-i-cant-share-my-webcam">I&#x27;m on Ubuntu and I can&#x27;t share my webcam<a href="#im-on-ubuntu-and-i-cant-share-my-webcam" class="hash-link" aria-label="Direct link to I&#x27;m on Ubuntu and I can&#x27;t share my webcam" title="Direct link to I&#x27;m on Ubuntu and I can&#x27;t share my webcam">​</a></h4> <p>See Ubuntu&#x27;s documentation for <a href="https://help.ubuntu.com/community/Webcam/Troubleshooting" target="_blank" rel="noopener noreferrer">Webcam Troubleshooting</a>.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="voice-conference">Voice Conference<a href="#voice-conference" class="hash-link" aria-label="Direct link to Voice Conference" title="Direct link to Voice Conference">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="why-cant-others-hear-me-in-the-voice-conference">Why can&#x27;t others hear me in the voice conference<a href="#why-cant-others-hear-me-in-the-voice-conference" class="hash-link" aria-label="Direct link to Why can&#x27;t others hear me in the voice conference" title="Direct link to Why can&#x27;t others hear me in the voice conference">​</a></h4> <p>If others in the voice conference don&#x27;t hear you when you speak, it&#x27;s likely that the browser has picked the wrong microphone on your computer. You can click the phone icon twice -- once to leave and a second time to rejoin -- to try joining the audio again. When you see the echo test, if you can&#x27;t hear yourself, click &quot;no&quot; and select a different microphone.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="why-do-others-only-hear-part-of-my-audio">Why do others only hear part of my audio<a href="#why-do-others-only-hear-part-of-my-audio" class="hash-link" aria-label="Direct link to Why do others only hear part of my audio" title="Direct link to Why do others only hear part of my audio">​</a></h4> <p>FreeSWITCH has automatic audio clipping, which means it will not transmit a speaker&#x27;s audio if the volume is too low. If the speaker&#x27;s audio is low, FreeSWITCH might take a moment to recognize that someone is speaking before transmitting, causing others to hear your audio only after you have started speaking a few words.</p> <p>You can also change the settings on FreeSWITCH to lower default threshold for audio. To lower the threshold, switch to the root account, then edit</p> <div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> /opt/freeswitch/conf/autoload_configs/conference.conf.xml</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>and set energy-level to a lower value (e.g. 100)</p> <div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">profile</span><span class="token tag" style="color:#00009f"> </span><span class="token tag attr-name" style="color:#00a4db">name</span><span class="token tag attr-value punctuation attr-equals" style="color:#393A34">=</span><span class="token tag attr-value punctuation" style="color:#393A34">&quot;</span><span class="token tag attr-value" style="color:#e3116c">wideband</span><span class="token tag attr-value punctuation" style="color:#393A34">&quot;</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">param</span><span class="token tag" style="color:#00009f"> </span><span class="token tag attr-name" style="color:#00a4db">name</span><span class="token tag attr-value punctuation attr-equals" style="color:#393A34">=</span><span class="token tag attr-value punctuation" style="color:#393A34">&quot;</span><span class="token tag attr-value" style="color:#e3116c">energy-level</span><span class="token tag attr-value punctuation" style="color:#393A34">&quot;</span><span class="token tag" style="color:#00009f"> </span><span class="token tag attr-name" style="color:#00a4db">value</span><span class="token tag attr-value punctuation attr-equals" style="color:#393A34">=</span><span class="token tag attr-value punctuation" style="color:#393A34">&quot;</span><span class="token tag attr-value" style="color:#e3116c">100</span><span class="token tag attr-value punctuation" style="color:#393A34">&quot;</span><span class="token tag punctuation" style="color:#393A34">/&gt;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>Save the file, then do <code>sudo bbb-conf --restart</code> to restart BigBlueButton.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="why-is-there-an-echo-in-the-voice-conference">Why is there an echo in the voice conference<a href="#why-is-there-an-echo-in-the-voice-conference" class="hash-link" aria-label="Direct link to Why is there an echo in the voice conference" title="Direct link to Why is there an echo in the voice conference">​</a></h4> <p>In BigBlueButton, we use the built-in acoustic echo cancellation, so in most cases, you should not hear any echo from remote users.</p> <p>In any event, we always recommend that you have your remote users use a headset with microphone. This will ensure the best audio in a session.</p> <p>If a remote user is using a laptop with a built-in microphone, you should not hear an echo. However, if two remote users are using laptops with built-in microphones and neither is using a headset and both are sitting close to each other (close enough for the microphone in one laptop to pickup the audio from the speakers in the other laptop), then you will hear an echo. The reason is the built-in echo cancellation only works with the audio coming from the host laptop -- the audio coming from the second laptop will be picked up as an external audio source.</p> <p>If a student is causing echo, the best way to solve this problem, if you are logged in as a moderator, is to mute the user by clicking the microphone icon to the left of their name.</p> <p>Overall, the best solution is to ask all users to use a headset -- this will ensure no background noise or echo.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-i-get-the-best-audio">How do I get the best audio<a href="#how-do-i-get-the-best-audio" class="hash-link" aria-label="Direct link to How do I get the best audio" title="Direct link to How do I get the best audio">​</a></h4> <p>Use FireFox or Chrome.</p> <p>Both these browsers support web real-time communications (WebRTC) audio. BigBlueButton will use WebRTC for audio if the user is on FireFox or Chrome browser.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="record-and-playback">Record and Playback<a href="#record-and-playback" class="hash-link" aria-label="Direct link to Record and Playback" title="Direct link to Record and Playback">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="where-is-the-record-button">Where is the record button<a href="#where-is-the-record-button" class="hash-link" aria-label="Direct link to Where is the record button" title="Direct link to Where is the record button">​</a></h4> <p>In BigBlueButton, the external application that uses the BigBlueButton API can now pass an additional parameter <code>record=true</code> when creating a session. This additional parameter instructs the BigBlueButton server to record the session and make a recording available through subsequent <a href="/development/api/#getrecordings">getRecordings</a> calls.</p> <p>There is no user interface for the presenter to turn on or turn off a recording.</p> <p>When instructed through the API call, the BigBlueButton server will record all of the meeting, from the time the first person joins to when the last person leaves. A meeting may also end when it reaches its duration or the <a href="/development/api/#end">end</a> is called on the meeting.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="what-parts-of-the-session-does-bigbluebutton-record">What parts of the session does BigBlueButton record<a href="#what-parts-of-the-session-does-bigbluebutton-record" class="hash-link" aria-label="Direct link to What parts of the session does BigBlueButton record" title="Direct link to What parts of the session does BigBlueButton record">​</a></h4> <p>BigBlueButton records all activity in the presentation, chat, webcams, and desktop sharing for playback.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="what-browsers-support-playback">What browsers support playback<a href="#what-browsers-support-playback" class="hash-link" aria-label="Direct link to What browsers support playback" title="Direct link to What browsers support playback">​</a></h4> <p>BigBlueButton supports playback in Chrome and FireFox.</p> <p>In BigBlueButton, the audio from a recorded session is encoded into <a href="https://en.wikipedia.org/wiki/Vorbis" target="_blank" rel="noopener noreferrer">Vorbis</a>, an open source audio format that is not patent-encumbered. Playback of Vorbis audio is supported in FireFox and Chrome, but not IE and Safari.</p> <p>BigBlueButton will playback the webcams from a session using the WebM container, which, thanks to Google, provides a high-quality open source video codec VP8. Playback of video in VP8 is supported by FireFox and Chrome (see the <a href="https://en.wikipedia.org/wiki/HTML5_video" target="_blank" rel="noopener noreferrer">HTML5 video</a> Wikipedia article). If you want to support playback of recordings for Safari mobile users on iOS, see <a href="/administration/customize/#enable-playback-of-recordings-on-ios">Enable playback of recordings on iOS</a>.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-the-disk-space-usage-for-storing-one-hour-of-recordings">What is the disk space usage for storing one hour of recordings<a href="#what-is-the-disk-space-usage-for-storing-one-hour-of-recordings" class="hash-link" aria-label="Direct link to What is the disk space usage for storing one hour of recordings" title="Direct link to What is the disk space usage for storing one hour of recordings">​</a></h4> <p>Storage values for different types of session in BigBlueButton 0.81.</p> <p>The file sizes are for a one hour session. When a recorded session ends, BigBlueButton archives all the raw content, then runs the recording scripts to create a publish format (presentation).</p> <table><thead><tr><th style="text-align:left">Media Shared</th><th style="text-align:left">Archive</th><th style="text-align:left">Publish</th><th style="text-align:left">Total</th></tr></thead><tbody><tr><td style="text-align:left">audio</td><td style="text-align:left">111 MB/h</td><td style="text-align:left">11 MB/h</td><td style="text-align:left">122 MB/h</td></tr><tr><td style="text-align:left">audio + webcam (1 webcam)</td><td style="text-align:left">131 MB/h</td><td style="text-align:left">51 MB/h</td><td style="text-align:left">182 MB/h</td></tr><tr><td style="text-align:left">audio + desktop sharing</td><td style="text-align:left">236 MB/h</td><td style="text-align:left">73 MB/h</td><td style="text-align:left">309 MB/h</td></tr></tbody></table> <h5 class="anchor anchorWithStickyNavbar_LWe7" id="archive">Archive<a href="#archive" class="hash-link" aria-label="Direct link to Archive" title="Direct link to Archive">​</a></h5> <p>For audio, the storage of the audio stream is 110 MB/h. The storage is a .wav file.</p> <p>For audio + webcam, the additional storage is for saving each individual webcam stream. A one hour webcam stream at the default resolution (320x240) is 20M.</p> <p>For audio + deskshare, the additional storage is for the desktop sharing stream (there will only be one stream at any one time). A one hour desktop sharing stream is 125M.</p> <h5 class="anchor anchorWithStickyNavbar_LWe7" id="playback">Playback<a href="#playback" class="hash-link" aria-label="Direct link to Playback" title="Direct link to Playback">​</a></h5> <p>For playback, the audio, webcams, and desktop share are processed into a single playback file WebM (VP8 Codec).</p> <p>For audio only, the WebM file is 5.4M. There is an additional Vorbis Audio File that is 5M.</p> <p>For audio + webcam only, there is a single webM file that is 51M.</p> <p>For audio + desktop sharing, there is a single WebM that is 72M.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="can-i-see-the-total-time-of-the-session">Can I see the total time of the session<a href="#can-i-see-the-total-time-of-the-session" class="hash-link" aria-label="Direct link to Can I see the total time of the session" title="Direct link to Can I see the total time of the session">​</a></h4> <p>The information displayed during playback is browser-specific.</p> <p>In Chrome, the audio playback component shows only the current time index for the playback. To see the overall length of the session, you can scrub to the end of the audio after the audio file has loaded.</p> <p>In FireFox, the audio playback component shows both the current time index and total time of the audio file.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-i-modify-the-default-playback-format">How do I modify the default playback format<a href="#how-do-i-modify-the-default-playback-format" class="hash-link" aria-label="Direct link to How do I modify the default playback format" title="Direct link to How do I modify the default playback format">​</a></h4> <p>The ingest and processing scripts, written in Ruby, process the recorded events and media to create a playback option. The default scripts, called <code>presentation.rb</code> (there is a script for processing and publishing), are located in</p> <div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">/usr/local/bigbluebutton/core/scripts/process/presentation.rb</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/usr/local/bigbluebutton/core/scripts/publish/presentation.rb</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>BigBlueButton uses popcorn.js, an HTML5 media framework, for playback.</p> <p>By modifying presentation.rb, you could, for example, exclude chat from the layout, add themes or colors, change the layout of the HTML5 web page, add a download link to the content, etc.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-i-download-a-recorded-session">How do I download a recorded session<a href="#how-do-i-download-a-recorded-session" class="hash-link" aria-label="Direct link to How do I download a recorded session" title="Direct link to How do I download a recorded session">​</a></h4> <p>When looking to download a recorded session, most expect a single link to download the video file.</p> <p>In contrast, BigBlueButton does not create a video file for playback. Video files for a three hour lecture can get very large. Instead, BigBlueButton creates an HTML5 page that references PNG images and audio, and time indexes the PNG images against the audio to match their display in the session. The result is the source playback files are very small and can be hosted on any web server. The drawback is there will be a pause for the browser to download all this content, but, once downloaded, there is no more load on the web server.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="other">Other<a href="#other" class="hash-link" aria-label="Direct link to Other" title="Direct link to Other">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="why-does-content-not-persist-between-sessions">Why does content not persist between sessions<a href="#why-does-content-not-persist-between-sessions" class="hash-link" aria-label="Direct link to Why does content not persist between sessions" title="Direct link to Why does content not persist between sessions">​</a></h4> <p>BigBlueButton does not store any content -- such as chat, shared notes, uploaded slides, annotations, etc. -- between sessions. When you end a meeting and start a new one, you have a new meeting with a clean slate.</p> <p>Starting every meeting as a new meeting is by design. To understand why, it&#x27;s helpful to think of BigBlueButton like a web server. A web server does not hold state between requests (other than logging the request). This makes the architecture of the web server much simpler and easier to extend: the web server can focus on serving as many requests as possible in parallel as efficiently as possible.</p> <p>In a similar manner, the BigBlueButton server focuses on running many parallel meetings as efficiently as possible. If the meeting was recorded, then a separate process will later convert the saved meeting into a recording. In contrast, if the BigBlueButton server did store state from past meetings, that storage would have to be maintained, updated, and migrated when the server is upgraded. There would be privacy issues as well -- how to keep the stored state, and how to administer it for privacy requests (this would likely require a separate interface). Overall, the design of the BigBlueButton would be more complex. Also, load balancing (such as with <a href="https://github.com/blindsidenetworks/scalelite" target="_blank" rel="noopener noreferrer">scalelite</a>) would be more difficult as every BigBlueButton server would share a central object store for all the past meetings.</p> <p>The API does allow for a front-end to pre-upload a presentation, which gives the moderator the ability to customize meetings with the same presentation.</p> <p>In short, this stateless approach makes the overall architecture of BigBlueButton much simpler, and simple is good for focusing on speed, stability, maintainability of code, privacy, and focusing resources on building out features important to instructors.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="developing-bigbluebutton">Developing BigBlueButton<a href="#developing-bigbluebutton" class="hash-link" aria-label="Direct link to Developing BigBlueButton" title="Direct link to Developing BigBlueButton">​</a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="setup">Setup<a href="#setup" class="hash-link" aria-label="Direct link to Setup" title="Direct link to Setup">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="setting-up-the-dev-environment">Setting up the dev environment<a href="#setting-up-the-dev-environment" class="hash-link" aria-label="Direct link to Setting up the dev environment" title="Direct link to Setting up the dev environment">​</a></h4> <p>See <a href="/development/guide/">Developing BigBlueButton</a> for full instructions.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="where-can-i-download-the-latest-build">Where can I download the latest build<a href="#where-can-i-download-the-latest-build" class="hash-link" aria-label="Direct link to Where can I download the latest build" title="Direct link to Where can I download the latest build">​</a></h4> <p>You can checkout the latest code from Git. See <a href="https://github.com/bigbluebutton/bigbluebutton" target="_blank" rel="noopener noreferrer">BigBlueButton GitHub repository</a>.</p> <h2 class="anchor anchorWithStickyNavbar_LWe7" id="troubleshooting">Troubleshooting<a href="#troubleshooting" class="hash-link" aria-label="Direct link to Troubleshooting" title="Direct link to Troubleshooting">​</a></h2> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="connectivity">Connectivity<a href="#connectivity" class="hash-link" aria-label="Direct link to Connectivity" title="Direct link to Connectivity">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="users-do-not-appear-in-the-listeners-window">Users do not appear in the listeners window<a href="#users-do-not-appear-in-the-listeners-window" class="hash-link" aria-label="Direct link to Users do not appear in the listeners window" title="Direct link to Users do not appear in the listeners window">​</a></h4> <p>For a user to appear in the listener&#x27;s window, the 3rd party application using the BigBlueButton API to create a room must pass a <code>voiceBridge</code> parameter with the <code>create</code> call. See <a href="/development/api/#create">create meeting</a> call. This is done using the <a href="/administration/install/#6.-install-api-demos">built-in API demos</a>.</p> <p>Next, BigBlueButton must successfully connect to FreeSWITCH&#x27;s SIP port and FreeSWITCH&#x27;s Event Socket Layer. To resolve connection problems, see question below.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="audio">Audio<a href="#audio" class="hash-link" aria-label="Direct link to Audio" title="Direct link to Audio">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="when-i-click-on-the-headset-icon-nothing-happens">When I click on the headset icon, nothing happens<a href="#when-i-click-on-the-headset-icon-nothing-happens" class="hash-link" aria-label="Direct link to When I click on the headset icon, nothing happens" title="Direct link to When I click on the headset icon, nothing happens">​</a></h4> <p>First, as with most errors, run</p> <div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">$ sudo bbb-conf --check</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>To see if it can determine configuration errors.</p> <p>If you are running BigBlueButton on EC2, then note that EC2 uses both a public and private IP address. For example, on an EC2 instance if you type <code>ifconfig</code> you&#x27;ll see that eth0 is bound to an internal private IP address.</p> <p>Here&#x27;s a sample output:</p> <div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">eth0 Link encap:Ethernet HWaddr 12:31:33:22:25:c2</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> inet addr:10.242.78.44 Bcast:10.242.7.255 Mask:255.255.254.0</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> inet6 addr: fe80::1034:33ff:fd02:23c2/64 Scope:Link</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> RX packets:4004469 errors:0 dropped:0 overruns:0 frame:0</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> TX packets:5024657 errors:0 dropped:0 overruns:0 carrier:0</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> collisions:0 txqueuelen:1000</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> RX bytes:642594447 (642.5 MB) TX bytes:2670592958 (2.6 GB)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p>See <a href="/administration/install/#audio-not-working">audio is not working</a> for how to resolve this.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="i-have-two-microphones-and-want-to-choose-one-to-join-the-voice-conference">I have two microphones and want to choose one to join the voice conference<a href="#i-have-two-microphones-and-want-to-choose-one-to-join-the-voice-conference" class="hash-link" aria-label="Direct link to I have two microphones and want to choose one to join the voice conference" title="Direct link to I have two microphones and want to choose one to join the voice conference">​</a></h4> <p>When you&#x27;re inside the client, right-click, go to Settings &gt; Microphone Icon &gt; select your microphone, and talk to see if it works by checking the volume bar.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="some-users-are-experiencing-audio-problems">Some users are experiencing audio problems<a href="#some-users-are-experiencing-audio-problems" class="hash-link" aria-label="Direct link to Some users are experiencing audio problems" title="Direct link to Some users are experiencing audio problems">​</a></h4> <p>When using FireFox or Chrome, BigBlueButton uses the high-quality OPUS codec that transmits and receives audio packets over UDP.</p> <p>To setup BigBlueButton for external users, such as on-line classes, we recommend running BigBlueButton on a dedicated (non-virtual) server with 250M bits/sec bandwidth to/from the server. Furthermore, we remote users have a minimum upstream bandwidth of 0.5 Mbits/sec and downstream bandwidth of 1.0 Mbits/sec.</p> <p>When remote users experience audio problems, check the following areas:</p> <ol> <li>Check CPU availability on your BigBlueButton server</li> </ol> <p>Login to your BigBlueButton server during a session and watch it&#x27;s CPU using the command <code>top</code>. When running <code>top</code>, press &#x27;1&#x27; to see a list of all CPUs and their load. You should see Cpu0, Cpu1, etc. If you are running a quad-core CPU with hyper-threading (recommended), you&#x27;ll see eight virtual CPUs.</p> <p>The overall CPU usage should stay below 70%. If the overall CPU usage consistently stays above 70%, you&#x27;ll likely get audio troubles as the BigBlueButton server will not have enough available CPU to keep up with the audio packets.</p> <p>If your BigBlueButton server is virtualized, there is no guarantee how much CPU time your server gets. If you are sharing the CPU of your BigBlueButton server with other virtualized servers on the host, it will take longer for BigBlueButton to process audio packets. This setup may also affect audio quality.</p> <ol start="2"> <li>Check bandwidth provided to BigBlueButton server&#x27;s ISP</li> </ol> <p>To test your server&#x27;s bandwidth, you&#x27;ll need a second server on the internet that has at least as good bandwidth as your server. Make sure the second server is external and uses the ISP internet connection. When there is no significant network activity on your BigBlueButton server (such as no active BigBlueButton sessions), try transferring a large file to/from your BigBlueButton server to the second external server using <code>scp</code>. This will give you a rough estimate of the maximum transfer rates. Check with your ISP if these transfer rates are low.</p> <p>Next, try monitoring your server&#x27;s traffic during the beginning of a class. There are many Unix commands to monitor traffic, one of which is <code>bmon</code>.</p> <div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">$ sudo apt-get install bmon</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div> <p><code>bmon</code> will show you the amount of incoming data (RX rate) and transmitted (TX data) in kilobytes or megabytes, so you&#x27;ll need to multiply by 8 to get bits/sec.</p> <p>As BigBlueButton users join the audio on your server, you should see <strong>both TX and RX numbers increase</strong>. If you don&#x27;t see these numbers increase when new users join or, for example, when a presenter uploads new slides, or when someone shares a webcam, etc. then you have hit the bandwidth cap on your server. At this point, the audio for all users will start to degrade as there is insufficient bandwidth for new users or any common operations (such as uploading slides).</p> <p>For getting a better estimate of the amount of bandwidth required for your users, see <a href="#what-are-the-bandwidth-requirements-for-running-a-bigbluebutton-server">this FAQ entry</a>.</p> <ol start="3"> <li>Check Network connection for clients</li> </ol> <p>You may have a dedicated server with sufficient bandwidth, but if a remote users&#x27; internet connection is poor, their audio quality will not be good.</p> <p>We recommend that users have 0.5 Mbits/sec upload speed and 1.0 Mbits/sec download speed. Of course, these are not hard numbers, and BigBlueButton will certainly work with less bandwidth, but if your clients have bandwidth in this range, they should experience good audio.</p> <p>To test a user&#x27;s actual internet bandwidth, have them visit <a href="https://speedtest.net/" target="_blank" rel="noopener noreferrer">https://speedtest.net/</a>. The results at <a href="https://speedtest.net/" target="_blank" rel="noopener noreferrer">https://speedtest.net/</a> will give a fairly accurate test of the user&#x27;s upload and download speeds. If these numbers are much less than 0.5 Mbits/sec upload speed and 1.0 Mbits/sec download speed, their audio will be poor. One quick check is to ask users to turn off any file transfer they have in the background (such as bittorrent clients) and run the test again.</p> <p>Many times, issues with audio quality can be solved with better network connectivity. Check if the user transmitting audio is on a wireless connection. Have the switch to a wired connection, if possible, or move closer to the wireless base station.</p> <p>Also, if the user&#x27;s client takes over a minute to load, they are likely tunnelling through port 80, which will further degrade the audio.</p> <p>In general, if all users are encountering audio problems, the issue might be with the BigBlueButton CPU being overloaded or the bandwidth to the BigBlueButton server is saturated.</p> <p>If a specific user is having poor audio quality (i.e. only their audio is choppy but everyone else sounds good), have the individual do a speed test. Furthermore, if possible, if you are in the session with them and can verify their audio is poor, have them cross-check using demo.bigbluebutton.org (which is on a dedicated, high-bandwidth connection). Specifically, have that user create and join to a <a href="https://demo.bigbluebutton.org/gl" target="_blank" rel="noopener noreferrer">GreenLight rooms</a>, join them in the room, and check their audio again. If the audio sounds better, then it might be the user&#x27;s internet connection to/from your BigBlueButton server is dropping more packets than to/from the BigBlueButton demo server.</p> <ol start="4"> <li>Check the browser</li> </ol> <p>We recommend that users use FireFox or Chrome for transmitting/receiving the best audio. Both these browser support web real-time communications framework.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="presentation">Presentation<a href="#presentation" class="hash-link" aria-label="Direct link to Presentation" title="Direct link to Presentation">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="why-cant-i-resize-my-portrait-document">Why can&#x27;t I resize my portrait document<a href="#why-cant-i-resize-my-portrait-document" class="hash-link" aria-label="Direct link to Why can&#x27;t I resize my portrait document" title="Direct link to Why can&#x27;t I resize my portrait document">​</a></h4> <p>BigBlueButton is designed so the viewers of the presentation window are always in sync with the presenter&#x27;s view. It&#x27;s not possible for the presenter to point at something and a viewer to say &quot;I don&#x27;t see what you are pointing at&quot;.</p> <p>To keep the presentation windows in sync, when you upload a presentation (landscape or portrait), the size of the presentation window becomes a ratio of the presentation. You and the viewer may have different sized windows, due to the sizes of your respective monitors, but you both always see the same content.</p> <p>For landscape documents, the &quot;fit to page&quot; approach works well. Monitors are landscape, so presenting a landscape document makes good use of the screen space.</p> <p>However, for portrait documents, the &quot;fit to page&quot; approach means that text is usually too small to read. The presenter can zoom in to a portion of the document, but BigBlueButton does not change the width of the presentation window itself -- it&#x27;s keeping that ratio to ensure both presenter and viewer are in sync.</p> <p>We plan to add a &quot;fit to width&quot; option in BigBlueButton in a future iteration, one that both keeps the viewers and presenters in sync, but allows the presenter to better show portrait documents.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="administration">Administration<a href="#administration" class="hash-link" aria-label="Direct link to Administration" title="Direct link to Administration">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="bbb-conf---check-reports-host-ip-does-not-match-bigbluebutton">bbb-conf --check reports Host IP does not match BigBlueButton<a href="#bbb-conf---check-reports-host-ip-does-not-match-bigbluebutton" class="hash-link" aria-label="Direct link to bbb-conf --check reports Host IP does not match BigBlueButton" title="Direct link to bbb-conf --check reports Host IP does not match BigBlueButton">​</a></h4> <p>This is really more of a warning than an error. If you are using a DNS name, and that DNS name resolves to the IP address, or you have an external DNS name that is port forwarded to BigBlueButton, you can safely ignore the warning.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="which-log-files-should-i-check-for-errors">Which log files should I check for errors<a href="#which-log-files-should-i-check-for-errors" class="hash-link" aria-label="Direct link to Which log files should I check for errors" title="Direct link to Which log files should I check for errors">​</a></h4> <p>Log and configuration file information can be found <a href="/administration/configuration-files/">here</a>.</p> <h3 class="anchor anchorWithStickyNavbar_LWe7" id="other-questions">Other Questions<a href="#other-questions" class="hash-link" aria-label="Direct link to Other Questions" title="Direct link to Other Questions">​</a></h3> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="when-will-feature-x-be-implemented">When will feature X be implemented<a href="#when-will-feature-x-be-implemented" class="hash-link" aria-label="Direct link to When will feature X be implemented" title="Direct link to When will feature X be implemented">​</a></h4> <p>BigBlueButton is built by a group of (very determined) open source developers that volunteer their time to the project. Some of us also work for companies that provide <a href="https://bigbluebutton.org/commercial-support" target="_blank" rel="noopener noreferrer">commercial support</a> for BigBlueButton.</p> <p>We want to make BigBlueButton the leading open source web conferencing system for on-line learning. That&#x27;s no small task, but we&#x27;ve been focused since 2008 on this goal. Today, BigBlueButton is used all around the world and localized into over 50 languages.</p> <p>Time is a precious commodity. In general, when planning each release, we look at the outstanding issues and group them in three categories (in order of priority)</p> <ol> <li>What are the most important items on our <a href="/support/road-map/">road map</a> (these are the features that best support our target market of on-line learning)?</li> <li>What refactoring/features by the <a href="#bigbluebutton-committer">core committers</a> are needed to improve the code base/maintainability/usability of the product?</li> <li>What features are our community asking to implement (specifically, those not related to distance education, but would be useful to some, such as remote desktop control)?</li> </ol> <p>For a detailed breakdown of the features (and bug fixes) in the pipeline, see our <a href="https://github.com/bigbluebutton/bigbluebutton/issues" target="_blank" rel="noopener noreferrer">issue tracker</a>. If the feature you are requesting is not already requested as an issue, you could open a <a href="https://github.com/bigbluebutton/bigbluebutton/issues" target="_blank" rel="noopener noreferrer">new issue</a> and make a convincing argument that the feature belongs in (1), (2), or (3).</p> <p>Also, if you are a commercial company that builds upon BigBlueButton for your own products, you can engage one of the companies that provide <a href="https://bigbluebutton.org/commercial-support/" target="_blank" rel="noopener noreferrer">commercial support</a> to accelerate your feature.</p> <p>For (2), often we&#x27;ll revisit a previously implemented feature to improve its performance or refactor its code. This work usually occurs when we want to enhance a feature (we usually refactor it when doing so) or add new capabilities (such as refactoring the underlying messages to support the HTML5 client).</p> <p>If your feature belongs in category (3), you have options. BigBlueButton is an open source project: if you (or your organization) want to improve BigBlueButton, we welcome your contribution. See <a href="#contributing-to-bigbluebutton">Contributing to BigBlueButton</a>. If you want to engage other companies to accelerate the feature, see the companies that provide commercial support.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="how-can-i-donate-money-to-the-project">How can I donate money to the project<a href="#how-can-i-donate-money-to-the-project" class="hash-link" aria-label="Direct link to How can I donate money to the project" title="Direct link to How can I donate money to the project">​</a></h4> <p>The BigBlueButton project does not accept donations. We think it&#x27;s a poor business model for running an open source project as it suggests the developers are working for charity.</p> <p>If you want to help the project financially, you can approach some of the companies offering <a href="https://bigbluebutton.org/commercial-support" target="_blank" rel="noopener noreferrer">commercial support</a> for BigBlueButton and engage their services. Doing so creates a healthy ecosystem around the project where companies are encouraged to contribute their resources to improve the project to create a larger pool of potential customers wanting their services.</p> <p>We appreciate positive feedback on our project as well. If you are on Twitter, send us a tweet to <code>@bigbluebutton</code>. That helps raise awareness of our project so others can benefit from it as well.</p> <h4 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-i-change-the-brand-of-bigbluebutton">How do I change the brand of BigBlueButton<a href="#how-do-i-change-the-brand-of-bigbluebutton" class="hash-link" aria-label="Direct link to How do I change the brand of BigBlueButton" title="Direct link to How do I change the brand of BigBlueButton">​</a></h4> <p>To brand BigBlueButton, setup the <a href="/development/guide/">development environment</a> to create your own version of the HTML5 client. You can use the browser&#x27;s inspect tools to see where each item you want to brand is loaded.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/support/getting-help/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Getting Help</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/support/troubleshooting/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Troubleshooting Guide</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#welcome" class="table-of-contents__link toc-highlight">Welcome</a><ul><li><a href="#what-if-i-dont-find-my-answer-here" class="table-of-contents__link toc-highlight">What if I don&#39;t find my answer here</a></li><li><a href="#why-is-this-project-called-bigbluebutton" class="table-of-contents__link toc-highlight">Why is this project called BigBlueButton</a></li><li><a href="#why-is-it-spelled-bigbluebutton-and-not-big-blue-button" class="table-of-contents__link toc-highlight">Why is it spelled BigBlueButton (and not Big Blue Button)</a></li><li><a href="#where-is-the-source" class="table-of-contents__link toc-highlight">Where is the source</a></li><li><a href="#what-is-the-open-source-license-used-in-bigbluebutton" class="table-of-contents__link toc-highlight">What is the open source license used in BigBlueButton</a></li><li><a href="#will-bigbluebutton-always-stay-open-source" class="table-of-contents__link toc-highlight">Will BigBlueButton always stay open source</a></li><li><a href="#i-tried-to-join-one-of-the-mailing-lists-and-got-rejected" class="table-of-contents__link toc-highlight">I tried to join one of the mailing lists and got rejected</a></li></ul></li><li><a href="#bigbluebutton-development-process" class="table-of-contents__link toc-highlight">BigBlueButton Development Process</a><ul><li><a href="#development-priorities" class="table-of-contents__link toc-highlight">Development Priorities</a></li><li><a href="#bigbluebutton-committer" class="table-of-contents__link toc-highlight">BigBlueButton Committer</a></li><li><a href="#process" class="table-of-contents__link toc-highlight">Process</a><ul><li><a href="#1-planning" class="table-of-contents__link toc-highlight">1. Planning</a></li><li><a href="#2-design" class="table-of-contents__link toc-highlight">2. Design</a></li><li><a href="#3-development" class="table-of-contents__link toc-highlight">3. Development</a></li><li><a href="#4-beta-testing" class="table-of-contents__link toc-highlight">4. Beta Testing</a></li><li><a href="#5-release-candidate" class="table-of-contents__link toc-highlight">5. Release Candidate</a></li><li><a href="#6-general-release" class="table-of-contents__link toc-highlight">6. General Release</a></li></ul></li></ul></li><li><a href="#contributing-to-bigbluebutton" class="table-of-contents__link toc-highlight">Contributing to BigBlueButton</a><ul><li><a href="#how-can-i-contribute" class="table-of-contents__link toc-highlight">How can I contribute</a></li><li><a href="#im-not-a-developer-can-i-still-contribute" class="table-of-contents__link toc-highlight">I&#39;m not a developer, can I still contribute?</a></li><li><a href="#why-do-i-need-to-sign-a-contributor-license-agreement-to-contribute-source-code" class="table-of-contents__link toc-highlight">Why do I need to sign a Contributor License Agreement to contribute source code</a><ul><li><a href="#submission-of-a-pull-request" class="table-of-contents__link toc-highlight">Submission of a pull request</a></li><li><a href="#submission-of-a-feature" class="table-of-contents__link toc-highlight">Submission of a feature</a></li><li><a href="#testing-your-submission" class="table-of-contents__link toc-highlight">Testing your submission</a></li><li><a href="#coding-conventions" class="table-of-contents__link toc-highlight">Coding conventions</a></li></ul></li><li><a href="#where-should-i-report-potential-security-issues" class="table-of-contents__link toc-highlight">Where should I report potential security issues?</a></li></ul></li><li><a href="#installation" class="table-of-contents__link toc-highlight">Installation</a><ul><li><a href="#what-are-the-minimum-hardware-requirements-for-the-bigbluebutton-server" class="table-of-contents__link toc-highlight">What are the minimum hardware requirements for the BigBlueButton Server</a></li><li><a href="#what-are-the-minimum-bandwidth-requirements-for-the-bigbluebutton-server" class="table-of-contents__link toc-highlight">What are the minimum bandwidth requirements for the BigBlueButton Server</a></li><li><a href="#can-i-install-bigbluebutton-on-a-shared-hosting-server-such-as-godaddy" class="table-of-contents__link toc-highlight">Can I install BigBlueButton on a shared hosting server, such as GoDaddy</a></li><li><a href="#can-i-install-bigbluebutton-on-ec2" class="table-of-contents__link toc-highlight">Can I install BigBlueButton on EC2</a></li><li><a href="#os-requirements" class="table-of-contents__link toc-highlight">OS Requirements</a><ul><li><a href="#ubuntu" class="table-of-contents__link toc-highlight">Ubuntu</a></li><li><a href="#centos" class="table-of-contents__link toc-highlight">CentOS</a></li><li><a href="#windows" class="table-of-contents__link toc-highlight">Windows</a></li><li><a href="#os-x" class="table-of-contents__link toc-highlight">OS X</a></li></ul></li><li><a href="#support-for-mobile-devices" class="table-of-contents__link toc-highlight">Support for Mobile Devices</a><ul><li><a href="#android" class="table-of-contents__link toc-highlight">Android</a></li><li><a href="#ios" class="table-of-contents__link toc-highlight">iOS</a></li></ul></li><li><a href="#bandwidth-requirements" class="table-of-contents__link toc-highlight">Bandwidth Requirements</a><ul><li><a href="#what-are-the-bandwidth-requirements-for-running-a-bigbluebutton-server" class="table-of-contents__link toc-highlight">What are the bandwidth requirements for running a BigBlueButton server</a></li><li><a href="#what-are-the-minimum-bandwidth-requirements-for-a-user" class="table-of-contents__link toc-highlight">What are the minimum bandwidth requirements for a user</a></li><li><a href="#is-wired-connection-better-than-wireless" class="table-of-contents__link toc-highlight">Is wired connection better than wireless</a></li></ul></li></ul></li><li><a href="#configuration" class="table-of-contents__link toc-highlight">Configuration</a><ul><li><a href="#what-are-the-minimum-requirements-for-the-bigbluebutton-client" class="table-of-contents__link toc-highlight">What are the minimum requirements for the BigBlueButton client</a></li><li><a href="#how-many-simultaneous-users-can-bigbluebutton-support" class="table-of-contents__link toc-highlight">How many simultaneous users can BigBlueButton support</a></li><li><a href="#where-is-the-admin-interface-for-bigbluebutton" class="table-of-contents__link toc-highlight">Where is the admin interface for BigBlueButton</a></li><li><a href="#where-do-i-schedule-a-meeting-in-bigbluebutton" class="table-of-contents__link toc-highlight">Where do I schedule a meeting in BigBlueButton?</a></li><li><a href="#networking" class="table-of-contents__link toc-highlight">Networking</a><ul><li><a href="#how-do-i-change-the-hostname-of-my-bigbluebutton-server" class="table-of-contents__link toc-highlight">How do I change the hostname of my BigBlueButton server</a></li><li><a href="#we-recommend-running-bigbluebutton-on-port-80443" class="table-of-contents__link toc-highlight">We recommend running BigBlueButton on port 80/443</a></li><li><a href="#what-ports-must-be-open-for-external-users-to-connect-to-bigbluebutton" class="table-of-contents__link toc-highlight">What ports must be open for external users to connect to BigBlueButton</a></li><li><a href="#does-bigbluebutton-support-tunneling" class="table-of-contents__link toc-highlight">Does BigBlueButton support tunneling</a></li><li><a href="#does-bigbluebutton-provide-secure-collaboration" class="table-of-contents__link toc-highlight">Does BigBlueButton provide secure collaboration?</a></li></ul></li><li><a href="#front-ends" class="table-of-contents__link toc-highlight">Front Ends</a><ul><li><a href="#does-bigbluebutton-come-with-a-front-end" class="table-of-contents__link toc-highlight">Does BigBlueButton come with a front end?</a></li><li><a href="#can-i-run-multiple-virtual-classrooms-in-a-single-bigbluebutton-server" class="table-of-contents__link toc-highlight">Can I run multiple virtual classrooms in a single BigBlueButton server</a></li><li><a href="#how-do-i-setup-new-classrooms-in-bigbluebutton" class="table-of-contents__link toc-highlight">How do I setup new classrooms in BigBlueButton</a></li><li><a href="#how-do-i-integrate-bigbluebutton-with-my-own-server" class="table-of-contents__link toc-highlight">How do I integrate BigBlueButton with my own server</a></li></ul></li><li><a href="#server-configuration" class="table-of-contents__link toc-highlight">Server Configuration</a><ul><li><a href="#does-bigbluebutton-offer-permanent-sessions" class="table-of-contents__link toc-highlight">Does BigBlueButton offer permanent sessions</a></li></ul></li></ul></li><li><a href="#using-bigbluebutton" class="table-of-contents__link toc-highlight">Using BigBlueButton</a><ul><li><a href="#accessibility" class="table-of-contents__link toc-highlight">Accessibility</a></li><li><a href="#screen-sharing" class="table-of-contents__link toc-highlight">Screen Sharing</a><ul><li><a href="#what-is-needed-to-run-desktop-sharing" class="table-of-contents__link toc-highlight">What is needed to run desktop sharing</a></li><li><a href="#can-i-share-a-specific-window-when-sharing-my-desktop" class="table-of-contents__link toc-highlight">Can I share a specific window when sharing my desktop</a></li></ul></li><li><a href="#presentations" class="table-of-contents__link toc-highlight">Presentations</a><ul><li><a href="#can-i-upload-microsoft-office-documents-to-bigbluebutton" class="table-of-contents__link toc-highlight">Can I upload Microsoft Office documents to BigBlueButton</a></li><li><a href="#will-my-animations-and-videos-in-powerpoint-convert-when-uploaded" class="table-of-contents__link toc-highlight">Will my animations and videos in PowerPoint convert when uploaded</a></li><li><a href="#i-uploaded-a-document-but-some-fonts-are-missing-after-conversion" class="table-of-contents__link toc-highlight">I uploaded a document but some fonts are missing after conversion</a></li><li><a href="#does-bigbluebutton-support-multi-user-whiteboard" class="table-of-contents__link toc-highlight">Does BigBlueButton support multi-user whiteboard</a></li></ul></li><li><a href="#video" class="table-of-contents__link toc-highlight">Video</a><ul><li><a href="#im-on-ubuntu-and-i-cant-share-my-webcam" class="table-of-contents__link toc-highlight">I&#39;m on Ubuntu and I can&#39;t share my webcam</a></li></ul></li><li><a href="#voice-conference" class="table-of-contents__link toc-highlight">Voice Conference</a><ul><li><a href="#why-cant-others-hear-me-in-the-voice-conference" class="table-of-contents__link toc-highlight">Why can&#39;t others hear me in the voice conference</a></li><li><a href="#why-do-others-only-hear-part-of-my-audio" class="table-of-contents__link toc-highlight">Why do others only hear part of my audio</a></li><li><a href="#why-is-there-an-echo-in-the-voice-conference" class="table-of-contents__link toc-highlight">Why is there an echo in the voice conference</a></li><li><a href="#how-do-i-get-the-best-audio" class="table-of-contents__link toc-highlight">How do I get the best audio</a></li></ul></li><li><a href="#record-and-playback" class="table-of-contents__link toc-highlight">Record and Playback</a><ul><li><a href="#where-is-the-record-button" class="table-of-contents__link toc-highlight">Where is the record button</a></li><li><a href="#what-parts-of-the-session-does-bigbluebutton-record" class="table-of-contents__link toc-highlight">What parts of the session does BigBlueButton record</a></li><li><a href="#what-browsers-support-playback" class="table-of-contents__link toc-highlight">What browsers support playback</a></li><li><a href="#what-is-the-disk-space-usage-for-storing-one-hour-of-recordings" class="table-of-contents__link toc-highlight">What is the disk space usage for storing one hour of recordings</a></li><li><a href="#can-i-see-the-total-time-of-the-session" class="table-of-contents__link toc-highlight">Can I see the total time of the session</a></li><li><a href="#how-do-i-modify-the-default-playback-format" class="table-of-contents__link toc-highlight">How do I modify the default playback format</a></li><li><a href="#how-do-i-download-a-recorded-session" class="table-of-contents__link toc-highlight">How do I download a recorded session</a></li></ul></li><li><a href="#other" class="table-of-contents__link toc-highlight">Other</a><ul><li><a href="#why-does-content-not-persist-between-sessions" class="table-of-contents__link toc-highlight">Why does content not persist between sessions</a></li></ul></li></ul></li><li><a href="#developing-bigbluebutton" class="table-of-contents__link toc-highlight">Developing BigBlueButton</a><ul><li><a href="#setup" class="table-of-contents__link toc-highlight">Setup</a><ul><li><a href="#setting-up-the-dev-environment" class="table-of-contents__link toc-highlight">Setting up the dev environment</a></li><li><a href="#where-can-i-download-the-latest-build" class="table-of-contents__link toc-highlight">Where can I download the latest build</a></li></ul></li></ul></li><li><a href="#troubleshooting" class="table-of-contents__link toc-highlight">Troubleshooting</a><ul><li><a href="#connectivity" class="table-of-contents__link toc-highlight">Connectivity</a><ul><li><a href="#users-do-not-appear-in-the-listeners-window" class="table-of-contents__link toc-highlight">Users do not appear in the listeners window</a></li></ul></li><li><a href="#audio" class="table-of-contents__link toc-highlight">Audio</a><ul><li><a href="#when-i-click-on-the-headset-icon-nothing-happens" class="table-of-contents__link toc-highlight">When I click on the headset icon, nothing happens</a></li><li><a href="#i-have-two-microphones-and-want-to-choose-one-to-join-the-voice-conference" class="table-of-contents__link toc-highlight">I have two microphones and want to choose one to join the voice conference</a></li><li><a href="#some-users-are-experiencing-audio-problems" class="table-of-contents__link toc-highlight">Some users are experiencing audio problems</a></li></ul></li><li><a href="#presentation" class="table-of-contents__link toc-highlight">Presentation</a><ul><li><a href="#why-cant-i-resize-my-portrait-document" class="table-of-contents__link toc-highlight">Why can&#39;t I resize my portrait document</a></li></ul></li><li><a href="#administration" class="table-of-contents__link toc-highlight">Administration</a><ul><li><a href="#bbb-conf---check-reports-host-ip-does-not-match-bigbluebutton" class="table-of-contents__link toc-highlight">bbb-conf --check reports Host IP does not match BigBlueButton</a></li><li><a href="#which-log-files-should-i-check-for-errors" class="table-of-contents__link toc-highlight">Which log files should I check for errors</a></li></ul></li><li><a href="#other-questions" class="table-of-contents__link toc-highlight">Other Questions</a><ul><li><a href="#when-will-feature-x-be-implemented" class="table-of-contents__link toc-highlight">When will feature X be implemented</a></li><li><a href="#how-can-i-donate-money-to-the-project" class="table-of-contents__link toc-highlight">How can I donate money to the project</a></li><li><a href="#how-do-i-change-the-brand-of-bigbluebutton" class="table-of-contents__link toc-highlight">How do I change the brand of BigBlueButton</a></li></ul></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">BigBlueButton</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/bigbluebutton" target="_blank" rel="noopener noreferrer" class="footer__link-item">Github<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://groups.google.com/forum/#!forum/bigbluebutton-setup" target="_blank" rel="noopener noreferrer" class="footer__link-item">Setup Forums<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://groups.google.com/forum/#!forum/bigbluebutton-users" target="_blank" rel="noopener noreferrer" class="footer__link-item">Users Forums<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://groups.google.com/forum/#!forum/bigbluebutton-dev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Developers Forums<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">Support</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/support/road-map/">Road Map</a></li><li class="footer__item"><a class="footer__link-item" href="/support/faq/">FAQ</a></li><li class="footer__item"><a class="footer__link-item" href="/support/getting-help/">Getting help</a></li><li class="footer__item"><a class="footer__link-item" href="/support/troubleshooting/">Troubleshooting</a></li></ul></div><div class="col footer__col"><div class="footer__title">Resources</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://support.bigbluebutton.org/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Knowledge Base<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://bigbluebutton.org/teachers/tutorials/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Tutorial Videos<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">Social</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.facebook.com/bigbluebutton" target="_blank" rel="noopener noreferrer" class="footer__link-item">Facebook<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/bigbluebutton" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.youtube.com/channel/UCYj1_2Q3HTWCAImvI6eZ0SA" target="_blank" rel="noopener noreferrer" class="footer__link-item">Youtube<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2025 BigBlueButton Inc., Built with Docusaurus.</div></div></div></footer></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10