Self-serve download video recordings

a combo feed that weaves together webcams, presentation, and screen-shares, as a unified stream . . what many groups have come to expect from Zoom . .uploading to YouTube

‘A combo feed’ is what the presentation playback does so well. better than any other service I think, including public chat and live links too, interactive. The issue is, coding a downloadable mp4 file conversion that approaches the same kind of richness? And figuring what kind of UI is possible for controlling that richness in interactive playback. My hunch is, that’s a lot of development work, beyond what will have available soon. @wouter @elon

Legacy here, of BBB’s origins in virtual-classroom education, as distinct from the social media ‘mass publishing’ genre that now has come to dominate usage of video rooms?

An unusual feature of the presentation playback is being able to record ‘animated’, hand-crafted, slide presentations that include live on-screen annotation. It would be great if this facility of the web playback was exploited by more users. Something not found in the world of Zoom.

1 Like

Agreed with @mikemh about the Presentation mode, it’s a unique feature of BBB.

But also agreed with @illuminagent that many people need a recording of the webcams + whiteboard.

And that’s what we could do with the Video Streaming, a pilot we ran in 2021 with the City of Amsterdam, for the Cities for Change Conference with dozens of conf sessions, streamt to Vimeo and autorecorded there.

So if this is really an important feature, how could we add it on our production servers?

In reality it is an enhancement of GreenLight that allows a host to set up a rtmp video stream to an external server. @yurko and @elon developed some scripts to make sure the streaming bot would join… It may require some work for but ultimately not that much?

How much money do we need to crowdfund?


This feels exciting. Would be great to get this into production. The genres of video streaming and mass publishing of video recordings are too dominant, for to sit outside them? @osb


Yep :+1: Can Tech circle put a financial estimate on this?

1 Like

@illuminagent What do you make of this other discussion in Mastodon , about different users’ variable needs?

Just wanted to clarify a couple of technical points:

BBB recordings consist of a number of resources, including:

  1. A video file containing the audio of the room + the video stream of the presentation area (which could be uploaded slides, a shared screen or an external video).
  2. A video file containing the audio of the room + the webcam area
  3. Chat, shared notes and other resources such as slide thumbnails

The Presentation view, which is the only one present in vanilla Greenlight, composes all those resources so that users can “replay” what happened in the room. This feature is meant mainly for students who want to view past lectures.

The video file you get with the Download link is not part of the standard BBB/Greenlight install. It is generated by a custom job that runs when the recording is processed. It was originally included by Collocall (see GitHub - unicode-it/bbb-download: Produce downloadable material from BigBlueButton recordings, which creates the video file described in (1.) above).

Creating a downloadable video with presentation + webcams (+ chat?) has been in the official roadmap for a while but with a low priority, see for example this issue. One of the main developers stated a few days ago that they’re still planning on it to be included in a future release.

Until then:

  • If you’re only interested in point (2) above, webcams+audio, you can just open the presentation view, right-click on the webcams on the top left corner, and “Save video as”.
  • You could use a video editor to combine the presentation and webcam video files.
  • You can use OSB to capture the presentation view.

None of the above solutions is ideal, so I agree we should look for alternatives. The streaming route is an option, but it is very resource consuming and the recording is just a side effect of streaming to an external platform.

I’d rather explore other post-processing options which don’t require encoding video streams in real time. There are other forks of (or projects inspired in) the original bbb-download repo (now abandoned) that combine all recorded resources in a single video file, e.g. GitHub - fossasia/bbb-download and GitHub - tilmanmoser/bbb-video-download: A BigBlueButton recording postscript to provide video download. What do you think @elon @Yurko @hng ?


We have recently also switched to a different script: GitHub - danielpetri1/bbb-recording-exporter: A client- and server side script to generate BigBlueButton recordings.


looks promising, thanks! Anything we should take into account? How does the “Greenlight integration” work?

I have tested the script @hng mentioned and it works and the video will show up in Greenlight. We need to decide if we should use this script and when to push to production servers.

1 Like

Glad to see all the activity on this topic! Super that there is an alternative script for recordings that could be usable.

@mikemh - re: the thread, my guess is that a Jitsi style app is more like what most users need, where the interface is more geared toward face-to-face group meetings rather than virtual classroom style lectures. I suppose ideally, we could choose one ‘mode’ or the other, but of course that would be more technically to maintain.

That said, I do recognize the power features of BBB, as @wouter also points out, e.g., the live whiteboard. In practice I don’t imagine tending to use these, but I can see how they would make the whole experience richer if we did.

1 Like

@illuminagent I have manually rendered the new recordings for your room using the new script and it should show up as Video button. This won’t be automatically rendered yet until we do some testing.


Hi @elon. Thanks for that. Indeed, I am now able to download the video, and even on my Mac, the file plays correctly. No “corrupt file” error. So far so good!

The issue I see is that the resulting video file focuses the entire time on the presentation, in full size, rather than the speakers. That would be fine if the meeting was a lecture, but for face-to-face, it would be much better to have the active speaker and/or some kind of gallery in focus. See what I mean?

Screen Shot 2022-05-23 at 5.00.33 PM

Even though, during our meeting I had minimized the default presentation slide, and brought up our webcam feeds front-and-center, the recording shows the slide as above for the duration.

There’s a trick you can use if you’re only interested in webcams+audio:

  1. Open the “Presentation” view for the session you want.
  2. Right-click on the top left square video area where the webcams are shown.
  3. Click “Save video as” in the context menu.
    You’ll be able to save a video with only the webcams and the room audio in *.webm format.

Hope this helps!


That is helpful, @dvdjaco, thanks! To be clear: this only exports the webcams, not any screensharing or presentation, correct? So the workaround would work for events where there is no screensharing or presentation, but not in cases where a composite feed is desired. That probably covers us about 80% of the time. Not sure about other members…

That’s correct, that will download a video that only has the webcam streams. Allowing users more control over the composed video layout would be nice, e.g. having a webcam-centric layout and a presentation-centric one. As things stand right now it would mean generating 2 composed videos for each recording, which seems wasteful.

An alternative would be to use an on-demand, client-side solution (such as GitHub - danielpetri1/bbb-recording-exporter at client-side), where the user requests a downloadable video to be generated from the Greenlight UI, chooses a layout from 2-3 options and goes for a coffee while the GL instance grabs the streams and generates a downloadable video.


That on-demand possibility sounds intriguing, @dvdjaco. I don’t see any problem with waiting a little while Greenlight generates the style of recording one wants. I imagine this might save some server resources too.

1 Like


At the Tor project, we are using video recordings to save some of our usability interviews BUT we really need these recordings to be private all the time. Is there any possibility that this option may come to’s BBB any time soon?

Hi @gaba! I understand that’s a tricky situation: you do want to record the session, but even though you don’t make the recording public, it’s still there on the server.
I think your best option would be to self-record the session locally and don’t record anything on the server.

  • If you want to avoid recordings of your session to be stored on our server, as per the official BBB instructions: BigBlueButton : Privacy you can switch off the recording option in the room config, so there’s no server-side recording for the room
  • For recording locally AFAIK the OBS is a very decent tool to do so. Maybe you or someone in the team has already got some experience with it? Or maybe there are simpler tools to do the job as well.

WRT the publicness of the recording: people who know the link can access it; but it seems humanly very hard to guess the link. Nevertheless, is there anybody here who knows about the server side configurations that could be improved to “harden” this? For example, would it make sense to add a webserver access control layer to it? In such way that those members who DO want to share (some) recordings publicly don’t get blocked. Sounds hard to me, but maybe someone here has a thought about that?

I’d be very interested to know how this works for you.

People that are being monitored would be able to get that link leaked. We will look into tools to record on our side.

The other option would be that we set up a dedicated BBB server for you. In that case we can restrict all access to recorded files with a login/password so that only you can access them. That’s something unfeasible on a shared server where many people want to share links to recordings with others (publicly).

See the website for Dedicated servers. That’s a higher cost though.

1 Like

I think the safest way to do this is to have one person locally record using OBS. I have done this in the past.