aguerson / BBB-Whiteboard

A client- and server side script to generate BigBlueButton recordings.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BigBlueButton Downloader

A client- and (future) server side script to enable users to download a BigBlueButton recording as a single video file.

This is still a work in progress that downloads Big Blue Button's shapes.svg file to locally recreate the recording played in the browser as a webm or .mp4 file.

What's supported?

βœ… Quick export of BigBlueButton presentations containing audio, slides and whiteboard annotations
βœ… Option to render the webcams and screen sharings (deskshare) in addition to the presentation
βœ… Saving annotated slides as PNG so they can be merged into a new PDF

What's coming?

πŸ”œ Integration into Greenlight's UI
πŸ”œ Conversion of annotated slides into PDF using Cairo
πŸ”œ Support of further interactive elements such as the cursor, chat, and polls
πŸ”œ Speed improvements

How it works

The script creates an SVG frame for every timestep in the recording and uses FFmpeg's Concatenate format to render the animation as a slideshow. This is achieved by exporting the SVG frames as intermediate PNG files using librsvg, which in turn allows the final annotated slides to be saved separately as well.

In contrast to other approaches, this script is not dependent on headless browsers, screen recorders, open source video editors... just plain Ruby to generate well-formed SVGs. Since the generated video has a variable frame rate, rendering happens blazing fast and results in small file sizes.

The end goal is to integrate this script in Greenlight's GUI with further options such as allowing the students and teachers to add webcams, screen recordings (deskshare), trim the file given start- and end times, download the annotated slides as a PDF with Cairo, choosing the desired resolution and so on.

About

A client- and server side script to generate BigBlueButton recordings.

License:MIT License


Languages

Language:Ruby 100.0%