Skip to content

Repository files navigation

BBB Downloader GUI

BBB Downloader GUI

A desktop GUI built with CustomTkinter that wraps the bbb-downloader scripts — download and merge BBB recordings without a terminal.

Light theme  Dark theme


Features

  • Single Download tab — paste one BBB URL and go
  • List Download tab — batch process multiple URLs (one per line)
  • Stream toggles — webcam, deskshare, slides; turn off what you don't need
  • Format options
    • Default ‑c copy (fast, lossless, seconds)
    • Optional Full Compatibility re-encode (libx264 + AAC) for iOS / older players
    • Optional Keep raw files for intermediate .webm inspection
  • Auto-detects light/dark mode
  • Built-in FFmpeg downloader — no manual PATH setup needed

Webcam-only recordings (no deskshare) are handled: the webcam video is used as the primary stream and its embedded audio track is preserved.

Quick Start

Download App

Pre-built binaries are available on the Releases page.

Platform Status Download
🍎 macOS (Apple Silicon, .app) ✅ Available v1.0.0
🪟 Windows (.exe) ✅ Available v1.0.0

macOS note: On first launch you may see *"BBB Downloader cannot be opened because the developer cannot be verified.

Step 1: "* Right-click the app → OpenOpen anyway. This is expected for unsigned apps.

Step 2:

  1. Unzip and drag to Applications.
  2. type sudo xattr -rd com.apple.quarantine and Drag in terminal application + Enter.
  3. open app.

Run from source

Step 1 — get the files

  • Zip download (no terminal): click the green Code button at the top of this page → Download ZIP. Unzip anywhere you like.
  • git clone (terminal): git clone https://github.com/XDMustafa/bbb-downloader-GUI

Step 2 — install Python (one-time)

Download Python 3.8+ from python.org. During install tick "Add Python to PATH".

Step 3 — install dependencies (one command)

Open a terminal inside the extracted folder:

pip install -r python-requirements.txt

Step 4 — launch

python main.py

FFmpeg: if ffmpeg is already in your PATH (macOS Homebrew users typically have it), the app picks it up automatically. If not, use the built-in Check / Download FFmpeg button — no manual download needed.


Project Structure

main.py                  – entry point: `python main.py`
bbb_gui.py               – UI layer (themes, tabs, paste button, layout)
bbb_core.py              – download thread, URL parsing, ffmpeg merge & cleanup
ffmpeg_tools.py          – ffmpeg detection / download helper / ffprobe wrapper
script/                  – patched upstream CLI scripts (bbb.py adds URL variants)
python-requirements.txt  – customtkinter, pillow, pyperclip (additive)
gui-assets/
  ├── images/            – Banner.jpg, Light-Theme.png, Dark-Theme.png
  └── icons/             – BBBDownloader.icns (macOS), icon.ico (Windows), button icons
BBB Downloader.spec       – PyInstaller spec (macOS .app build)

script/bbb.py carries two extra URL‑pattern regexes (_VALID_URL2, _VALID_URL3) on top of upstream's _VALID_URL; no upstream behaviour was removed — purely additive.


Roadmap

  • 📱 Android companion for downloading on mobile
  • 🎥 Adobe Connect recording support
  • 🌐 Similar web‑conference platforms

License

GNU General Public License v3.0 — full text in LICENSE.

The script/ directory holds unmodified files from upstream bbb-downloader (GPLv3). Credit and copyright for those files belong to their original authors.


Built with CustomTkinter. Based on bbb-downloader.

Releases

Packages

Contributors

Languages